Class: RedStorm::SimpleTopology::ComponentDefinition

Inherits:
Configurator
  • Object
show all
Defined in:
lib/red_storm/simple_topology.rb

Direct Known Subclasses

BoltDefinition, SpoutDefinition

Instance Attribute Summary collapse

Attributes inherited from Configurator

#config

Instance Method Summary collapse

Methods inherited from Configurator

#method_missing, #set

Constructor Details

#initialize(component_class, constructor_args, id, parallelism) ⇒ ComponentDefinition

Returns a new instance of ComponentDefinition.



20
21
22
23
24
25
26
27
# File 'lib/red_storm/simple_topology.rb', line 20

def initialize(component_class, constructor_args, id, parallelism)
  super()
  @clazz = component_class
  @constructor_args = constructor_args
  @id = id.to_s
  @parallelism = parallelism
  @output_fields = []
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class RedStorm::Configurator

Instance Attribute Details

#clazzObject (readonly)

Returns the value of attribute clazz.



17
18
19
# File 'lib/red_storm/simple_topology.rb', line 17

def clazz
  @clazz
end

#constructor_argsObject (readonly)

Returns the value of attribute constructor_args.



17
18
19
# File 'lib/red_storm/simple_topology.rb', line 17

def constructor_args
  @constructor_args
end

#idObject

ids are forced to string



18
19
20
# File 'lib/red_storm/simple_topology.rb', line 18

def id
  @id
end

#parallelismObject (readonly)

Returns the value of attribute parallelism.



17
18
19
# File 'lib/red_storm/simple_topology.rb', line 17

def parallelism
  @parallelism
end

Instance Method Details

#is_java?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/red_storm/simple_topology.rb', line 33

def is_java?
  @clazz.name.split('::').first.downcase == 'java'
end

#output_fields(*args) ⇒ Object



29
30
31
# File 'lib/red_storm/simple_topology.rb', line 29

def output_fields(*args)
  args.empty? ? @output_fields : @output_fields = args.map(&:to_s)
end