class Film
Attributes
stdout[R]
terminal[R]
Public Class Methods
new(stdout, terminal)
click to toggle source
# File lib/asciinema/film.rb, line 6 def initialize(stdout, terminal) @stdout = stdout @terminal = terminal end
Public Instance Methods
frames()
click to toggle source
# File lib/asciinema/film.rb, line 19 def frames frames = stdout.map do |delay, data| terminal.feed(data) [delay, Frame.new(terminal.snapshot, terminal.cursor)] end FrameDiffList.new(frames) end
snapshot_at(time)
click to toggle source
# File lib/asciinema/film.rb, line 11 def snapshot_at(time) stdout_each_until(time) do |delay, data| terminal.feed(data) end terminal.snapshot end
Private Instance Methods
stdout_each_until(seconds) { |delay, frame_data| ... }
click to toggle source
# File lib/asciinema/film.rb, line 30 def stdout_each_until(seconds) stdout.each do |delay, frame_data| seconds -= delay break if seconds <= 0 yield(delay, frame_data) end end