Sha256: 4bedb80fb0c78f98a9a5e13caf4c924b6ea7f255f5fedd23917fce9b0f5a4823
Contents?: true
Size: 559 Bytes
Versions: 2
Compression:
Stored size: 559 Bytes
Contents
module Frappuccino class Zip < Stream def initialize(left, right) @left_buffer = [] @right_buffer = [] left.add_observer(self, :left_update) right.add_observer(self, :right_update) end def left_update(event) if @right_buffer.length > 0 occur([event, @right_buffer.shift]) else @left_buffer << event end end def right_update(event) if @left_buffer.length > 0 occur([@left_buffer.shift, event]) else @right_buffer << event end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
frappuccino-0.3.0 | lib/frappuccino/stream/zip.rb |
frappuccino-0.2.0 | lib/frappuccino/stream/zip.rb |