Class: Vident::StimulusDataAttributeBuilder
- Inherits:
-
Object
- Object
- Vident::StimulusDataAttributeBuilder
- Defined in:
- lib/vident/stimulus_data_attribute_builder.rb
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(**collections_by_name) ⇒ StimulusDataAttributeBuilder
constructor
A new instance of StimulusDataAttributeBuilder.
Constructor Details
#initialize(**collections_by_name) ⇒ StimulusDataAttributeBuilder
Returns a new instance of StimulusDataAttributeBuilder.
5 6 7 8 9 10 |
# File 'lib/vident/stimulus_data_attribute_builder.rb', line 5 def initialize(**collections_by_name) unknown = collections_by_name.keys - Stimulus.names raise ArgumentError, "Unknown stimulus primitive(s) #{unknown.inspect}" if unknown.any? @collections_by_name = collections_by_name.transform_values { |v| Array(v) } end |
Instance Method Details
#build ⇒ Object
12 13 14 15 16 |
# File 'lib/vident/stimulus_data_attribute_builder.rb', line 12 def build Stimulus::PRIMITIVES.each_with_object({}) do |primitive, attrs| attrs.merge!(merge_collection(primitive.collection_class, @collections_by_name[primitive.name] || [])) end.transform_keys(&:to_s).compact end |