Bolts support declaring output streams

This commit is contained in:
Keith Walters 2015-03-10 16:09:21 +00:00
parent 54e43e39dc
commit 32cceb724e
1 changed files with 20 additions and 2 deletions

View File

@ -23,7 +23,14 @@ module RedStorm
end
def self.output_fields(*fields)
@fields = fields.map(&:to_s)
@fields ||= []
fields.each do |field|
if field.kind_of? Hash
@fields << Hash[ field.map { |k, v| [k.to_s, v.to_s] } ]
else
@fields << field.to_s
end
end
end
def self.configure(&configure_block)
@ -124,7 +131,18 @@ module RedStorm
end
def declare_output_fields(declarer)
declarer.declare(Fields.new(self.class.fields))
default_fields = []
self.class.fields.each do |field|
if field.kind_of? Hash
field.each do |stream, fields|
declarer.declareStream(stream, Fields.new(fields))
end
else
default_fields << field
end
end
declarer.declare(Fields.new(default_fields.flatten))
end
def get_component_configuration