You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
350 B
Ruby
25 lines
350 B
Ruby
11 years ago
|
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
|