Module: StimulusPlumbers::Plumber::Options::Stimulus

Extended by:
ActiveSupport::Concern
Includes:
TokenList
Defined in:
lib/stimulus_plumbers/plumber/options/stimulus.rb

Constant Summary collapse

STIMULUS_SPACEJOIN_KEYS =
%i[controller action].freeze

Instance Method Summary collapse

Methods included from TokenList

#merge_token_list

Instance Method Details

#merge_stimulus_data(*hashes, spacejoin: STIMULUS_SPACEJOIN_KEYS) ⇒ Object



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

def merge_stimulus_data(*hashes, spacejoin: STIMULUS_SPACEJOIN_KEYS)
  hashes.reduce({}) do |acc, d|
    acc.merge(d) do |key, old_val, new_val|
      if spacejoin.include?(key.to_sym)
        merge_token_list(old_val, new_val).presence || new_val
      else
        new_val
      end
    end
  end
end