Class: Lutaml::Model::Consolidation::Dispatcher
- Inherits:
-
Object
- Object
- Lutaml::Model::Consolidation::Dispatcher
- Defined in:
- lib/lutaml/model/consolidation/dispatcher.rb
Instance Method Summary collapse
- #dispatch(group_instance, items) ⇒ Object
-
#initialize(dispatch_block) ⇒ Dispatcher
constructor
A new instance of Dispatcher.
Constructor Details
#initialize(dispatch_block) ⇒ Dispatcher
Returns a new instance of Dispatcher.
7 8 9 |
# File 'lib/lutaml/model/consolidation/dispatcher.rb', line 7 def initialize(dispatch_block) @dispatch_block = dispatch_block end |
Instance Method Details
#dispatch(group_instance, items) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/lutaml/model/consolidation/dispatcher.rb', line 13 def dispatch(group_instance, items) items.each do |item| value = item.public_send(@dispatch_block.discriminator) target_attr = @dispatch_block.route_for(value) next unless target_attr assign(group_instance, target_attr, item) end group_instance end |