asciinema.org/app/services/asciicast_snapshot_updater.rb

18 lines
442 B
Ruby
Raw Normal View History

class AsciicastSnapshotUpdater
def update(asciicast, at_seconds = nil)
at_seconds ||= asciicast.snapshot_at || asciicast.duration / 2
snapshot = generate_snapshot(asciicast, at_seconds)
asciicast.update_attribute(:snapshot, snapshot)
end
private
def generate_snapshot(asciicast, at_seconds)
asciicast.with_terminal do |terminal|
Film.new(asciicast.stdout, terminal).snapshot_at(at_seconds)
end
end
end