Class: Rack::Async::BlockingBody

Inherits:
Queue
  • Object
show all
Includes:
Deferrable
Defined in:
lib/rack/async.rb

Instance Method Summary collapse

Methods included from Deferrable

#callback, #errback, #fail, #succeed

Constructor Details

#initialize(*args) ⇒ BlockingBody



98
99
100
101
102
# File 'lib/rack/async.rb', line 98

def initialize(*args)
  super
  @callbacks = []
  @errbacks = []
end

Instance Method Details

#eachObject



104
105
106
107
108
109
110
111
112
# File 'lib/rack/async.rb', line 104

def each
  until @deferred_status && empty?
    data = pop
    yield data if data
  end
rescue
  fail
  raise
end

#set_deferred_status(*args) ⇒ Object



114
115
116
117
# File 'lib/rack/async.rb', line 114

def set_deferred_status(*args)
  super
  self << nil
end