Class: RedStorm::SimpleTopology::BoltDefinition
- Inherits:
-
ComponentDefinition
- Object
- ComponentDefinition
- RedStorm::SimpleTopology::BoltDefinition
- Defined in:
- lib/red_storm/simple_topology.rb
Instance Attribute Summary collapse
-
#sources ⇒ Object
Returns the value of attribute sources.
Attributes inherited from ComponentDefinition
Instance Method Summary collapse
- #define_grouping(declarer) ⇒ Object
-
#initialize(*args) ⇒ BoltDefinition
constructor
A new instance of BoltDefinition.
- #source(source_id, grouping) ⇒ Object
Constructor Details
#initialize(*args) ⇒ BoltDefinition
Returns a new instance of BoltDefinition.
25 26 27 28 |
# File 'lib/red_storm/simple_topology.rb', line 25 def initialize(*args) super @sources = [] end |
Instance Attribute Details
#sources ⇒ Object
Returns the value of attribute sources.
23 24 25 |
# File 'lib/red_storm/simple_topology.rb', line 23 def sources @sources end |
Instance Method Details
#define_grouping(declarer) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/red_storm/simple_topology.rb', line 34 def define_grouping(declarer) @sources.each do |source_id, grouping| grouper, params = grouping.first case grouper when :fields declarer.fieldsGrouping(source_id, Fields.new(*params)) when :global declarer.globalGrouping(source_id) when :shuffle declarer.shuffleGrouping(source_id) when :none declarer.noneGrouping(source_id) when :all declarer.allGrouping(source_id) when :direct declarer.directGrouping(source_id) else raise("unknown grouper=#{grouper.inspect}") end end end |
#source(source_id, grouping) ⇒ Object
30 31 32 |
# File 'lib/red_storm/simple_topology.rb', line 30 def source(source_id, grouping) @sources << [source_id.is_a?(Class) ? SimpleTopology.underscore(source_id) : source_id, grouping.is_a?(Hash) ? grouping : {grouping => nil}] end |