asciinema.org/app/models/stdout.rb
2013-09-10 21:29:17 +02:00

29 lines
534 B
Ruby

class Stdout
include Enumerable
attr_reader :data_path, :timing_path
def initialize(data_path, timing_path)
@data_path = data_path
@timing_path = timing_path
end
def each
File.open(data_path, 'rb') do |file|
File.foreach(timing_path) do |line|
yield(*delay_and_data_for_line(file, line))
end
end
end
private
def delay_and_data_for_line(file, line)
delay, size = TimingParser.parse_line(line)
data = file.read(size).force_encoding('utf-8')
[delay, data]
end
end