multiple values auto emit
This commit is contained in:
parent
89396e1ad0
commit
96fa35ab50
|
@ -39,8 +39,8 @@ module RedStorm
|
|||
|
||||
def execute(tuple)
|
||||
if (output = instance_exec(tuple, &self.class.on_receive_block)) && self.class.emit?
|
||||
values = [output].flatten
|
||||
self.class.anchor? ? @collector.emit(tuple, Values.new(*values)) : emit(*values)
|
||||
values_list = !output.is_a?(Array) ? [[output]] : !output.first.is_a?(Array) ? [output] : output
|
||||
values_list.each{|values| self.class.anchor? ? @collector.emit(tuple, Values.new(*values)) : @collector.emit(Values.new(*values))}
|
||||
@collector.ack(tuple) if self.class.ack?
|
||||
end
|
||||
end
|
||||
|
|
|
@ -297,7 +297,7 @@ describe RedStorm::SimpleBolt do
|
|||
|
||||
class RedStorm::Values; end
|
||||
|
||||
it "should auto emit on single value output" do
|
||||
it "should auto single emit on single value output" do
|
||||
class Bolt1 < RedStorm::SimpleBolt
|
||||
on_receive {|tuple| tuple}
|
||||
end
|
||||
|
@ -326,7 +326,7 @@ describe RedStorm::SimpleBolt do
|
|||
bolt.execute("output")
|
||||
end
|
||||
|
||||
it "should auto emit on multiple value output" do
|
||||
it "should auto single emit on multiple value output" do
|
||||
class Bolt1 < RedStorm::SimpleBolt
|
||||
on_receive {|tuple| tuple}
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue