Class: EM::HyperDex::Client::DeferrableEnumerable

Inherits:
Object
  • Object
show all
Includes:
Deferrable, Enumerable
Defined in:
lib/em-hyperdex-client.rb

Instance Method Summary collapse

Constructor Details

#initialize(iter) ⇒ DeferrableEnumerable

Returns a new instance of DeferrableEnumerable.



124
125
126
# File 'lib/em-hyperdex-client.rb', line 124

def initialize(iter)
	@iter = iter
end

Instance Method Details

#each(&blk) ⇒ Object



128
129
130
131
132
# File 'lib/em-hyperdex-client.rb', line 128

def each(&blk)
	return self unless block_given?

	@each_block = blk
end

#item_availableObject



134
135
136
137
138
139
140
141
142
143
144
145
# File 'lib/em-hyperdex-client.rb', line 134

def item_available
	val = @iter.next
	if val.nil?
		succeed
	else
		begin
			@each_block.call(val)
		rescue Exception => ex
			fail(ex)
		end
	end
end