Module: Vident::TagHelper
- Included in:
- Component
- Defined in:
- lib/vident/tag_helper.rb
Instance Method Summary collapse
-
#tag(tag_name, stimulus_controllers: nil, stimulus_targets: nil, stimulus_actions: nil, stimulus_outlets: nil, stimulus_values: nil, stimulus_classes: nil, stimulus_controller: nil, stimulus_target: nil, stimulus_action: nil, stimulus_outlet: nil, stimulus_value: nil, stimulus_class: nil, **options, &block) ⇒ Object
Generate a tag with the given name and options, including stimulus data attributes.
Instance Method Details
#tag(tag_name, stimulus_controllers: nil, stimulus_targets: nil, stimulus_actions: nil, stimulus_outlets: nil, stimulus_values: nil, stimulus_classes: nil, stimulus_controller: nil, stimulus_target: nil, stimulus_action: nil, stimulus_outlet: nil, stimulus_value: nil, stimulus_class: nil, **options, &block) ⇒ Object
Generate a tag with the given name and options, including stimulus data attributes
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/vident/tag_helper.rb', line 6 def tag( tag_name, stimulus_controllers: nil, stimulus_targets: nil, stimulus_actions: nil, stimulus_outlets: nil, stimulus_values: nil, stimulus_classes: nil, stimulus_controller: nil, stimulus_target: nil, stimulus_action: nil, stimulus_outlet: nil, stimulus_value: nil, stimulus_class: nil, **, &block ) # Ensure the plural attributes are actually enumerables tag_attribute_must_be_collection!(stimulus_controllers, "stimulus_controllers") tag_attribute_must_be_collection!(stimulus_targets, "stimulus_targets") tag_attribute_must_be_collection!(stimulus_actions, "stimulus_actions") tag_attribute_must_be_collection!(stimulus_outlets, "stimulus_outlets") tag_attribute_must_be_collection!(stimulus_values, "stimulus_values") tag_attribute_must_be_collection!(stimulus_classes, "stimulus_classes") stimulus_controllers_collection = send(:stimulus_controllers, *tag_wrap_single_stimulus_attribute(stimulus_controllers, stimulus_controller)) stimulus_targets_collection = send(:stimulus_targets, *tag_wrap_single_stimulus_attribute(stimulus_targets, stimulus_target)) stimulus_actions_collection = send(:stimulus_actions, *tag_wrap_single_stimulus_attribute(stimulus_actions, stimulus_action)) stimulus_outlets_collection = send(:stimulus_outlets, *tag_wrap_single_stimulus_attribute(stimulus_outlets, stimulus_outlet)) stimulus_values_collection = send(:stimulus_values, stimulus_values || stimulus_value) stimulus_classes_collection = send(:stimulus_classes, stimulus_classes || stimulus_class) stimulus_data_attributes = StimulusDataAttributeBuilder.new( controllers: stimulus_controllers_collection, actions: stimulus_actions_collection, targets: stimulus_targets_collection, outlets: stimulus_outlets_collection, values: stimulus_values_collection, classes: stimulus_classes_collection ).build generate_tag(tag_name, stimulus_data_attributes, , &block) end |