Sha256: ec1307a274590763e8313d5d6ffaa9529419c1d690c82c6d0c6d167c27eaa897

Contents?: true

Size: 471 Bytes

Versions: 13

Compression:

Stored size: 471 Bytes

Contents

# frozen_string_literal: true

module StimulusReflex::AttributeBuilder
  def build_data_attrs(dataset, dataset_all)
    dataset_all.transform_keys! { |key| "data-#{key.delete_prefix("data-").pluralize}" }

    dataset.each { |key, value| dataset_all[key]&.prepend(value) }

    data_attrs = dataset.merge(dataset_all)

    HashWithIndifferentAccess.new(data_attrs || {})
  end

  def build_underscored(attrs)
    attrs.merge(attrs.transform_keys(&:underscore))
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
stimulus_reflex-3.5.3 lib/stimulus_reflex/utils/attribute_builder.rb
stimulus_reflex-3.5.0.rc4 lib/stimulus_reflex/utils/attribute_builder.rb
stimulus_reflex-3.5.0.rc3 lib/stimulus_reflex/utils/attribute_builder.rb
stimulus_reflex-3.5.0.rc2 lib/stimulus_reflex/utils/attribute_builder.rb
stimulus_reflex-3.5.0.rc1 lib/stimulus_reflex/utils/attribute_builder.rb
stimulus_reflex-3.5.0.pre10 lib/stimulus_reflex/utils/attribute_builder.rb
stimulus_reflex-3.5.0.pre9 lib/stimulus_reflex/utils/attribute_builder.rb
stimulus_reflex-3.5.0.pre8 lib/stimulus_reflex/utils/attribute_builder.rb
stimulus_reflex-3.5.0.pre7 lib/stimulus_reflex/utils/attribute_builder.rb
stimulus_reflex-3.5.0.pre6 lib/stimulus_reflex/utils/attribute_builder.rb
stimulus_reflex-3.5.0.pre5 lib/stimulus_reflex/utils/attribute_builder.rb
stimulus_reflex-3.5.0.pre4 lib/stimulus_reflex/utils/attribute_builder.rb
stimulus_reflex-3.5.0.pre3 lib/stimulus_reflex/utils/attribute_builder.rb