Class: Jugglite::DeferrableBody

Inherits:
Object
  • Object
show all
Includes:
EventMachine::Deferrable
Defined in:
lib/jugglite/deferrable_body.rb

Instance Method Summary collapse

Constructor Details

#initializeDeferrableBody

Returns a new instance of DeferrableBody.



5
6
7
# File 'lib/jugglite/deferrable_body.rb', line 5

def initialize
  @queue = EM::Queue.new
end

Instance Method Details

#each(&blk) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/jugglite/deferrable_body.rb', line 13

def each(&blk)
  @body_callback = blk
  processor = proc { |item|
    @body_callback.call(item)
    @queue.pop(&processor)
  }
  @queue.pop(&processor)
end

#write(body) ⇒ Object



9
10
11
# File 'lib/jugglite/deferrable_body.rb', line 9

def write(body)
  @queue.push(body)
end