Sha256: 4e97009361c25013775c4d5e1666a18cb064784e13e794e8b0819ad1d98446ca
Contents?: true
Size: 562 Bytes
Versions: 5
Compression:
Stored size: 562 Bytes
Contents
module EventMachine class Iterator def initialize(container) @container = container end def each(work, done=proc{}) do_work = proc { if @container && !@container.empty? work.call(@container.shift) EM.next_tick(&do_work) else done.call end } EM.next_tick(&do_work) end def map(work, done=proc{}) mapped = [] map_work = proc { |n| mapped << work.call(n) } map_done = proc { done.call(mapped) } each(map_work, map_done) end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
cloudist-0.5.0 | lib/em/iterator.rb |
cloudist-0.4.4 | lib/em/iterator.rb |
cloudist-0.4.3 | lib/em/iterator.rb |
cloudist-0.4.2 | lib/em/iterator.rb |
cloudist-0.4.1 | lib/em/iterator.rb |