25 lines
350 B
Ruby
25 lines
350 B
Ruby
|
class FrameDiffList
|
||
|
include Enumerable
|
||
|
|
||
|
delegate :each, :to => :frame_diffs
|
||
|
|
||
|
def initialize(frames)
|
||
|
@frames = frames
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
attr_reader :frames
|
||
|
|
||
|
def frame_diffs
|
||
|
previous_frame = nil
|
||
|
|
||
|
frames.map { |delay, frame|
|
||
|
diff = frame.diff(previous_frame)
|
||
|
previous_frame = frame
|
||
|
[delay, diff]
|
||
|
}
|
||
|
end
|
||
|
|
||
|
end
|