Module: StimulusPlumbers::Plumber::Options::Html

Extended by:
ActiveSupport::Concern
Included in:
Form::Builder, Base
Defined in:
lib/stimulus_plumbers/plumber/options/html.rb

Instance Method Summary collapse

Instance Method Details

#merge_html_options(*hashes) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/stimulus_plumbers/plumber/options/html.rb', line 18

def merge_html_options(*hashes)
  class_value = merge_theme_options(*hashes)
  merged_data = merge_stimulus_data(*hashes.map { |h| h[:data] || {} })
  rest        = hashes.map { |h| h.except(:class, :classes, :data) }.reduce({}, :deep_merge)

  result = class_value ? rest.merge(class: class_value) : rest
  merged_data.present? ? result.merge(data: merged_data) : result
end