Sha256: 43934a11a7701fee161b80d62e4fc02df47587707aa9e71360067cae86323eec

Contents?: true

Size: 460 Bytes

Versions: 16

Compression:

Stored size: 460 Bytes

Contents

module InlineSvg::TransformPipeline::Transformations
  class DataAttributes < Transformation
    def transform(doc)
      with_svg(doc) do |svg|
        with_valid_hash_from(self.value).each_pair do |name, data|
          svg["data-#{dasherize(name)}"] = data
        end
      end
    end

    private

    def with_valid_hash_from(hash)
      Hash.try_convert(hash) || {}
    end

    def dasherize(string)
      string.to_s.gsub(/_/, "-")
    end
  end
end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
inline_svg-1.10.0 lib/inline_svg/transform_pipeline/transformations/data_attributes.rb
inline_svg-1.9.0 lib/inline_svg/transform_pipeline/transformations/data_attributes.rb
inline_svg-1.8.0 lib/inline_svg/transform_pipeline/transformations/data_attributes.rb
rails_mini_profiler-0.2.0 vendor/bundle/ruby/3.0.0/gems/inline_svg-1.7.2/lib/inline_svg/transform_pipeline/transformations/data_attributes.rb
inline_svg-1.7.2 lib/inline_svg/transform_pipeline/transformations/data_attributes.rb
inline_svg-1.7.1 lib/inline_svg/transform_pipeline/transformations/data_attributes.rb
inline_svg-1.7.0 lib/inline_svg/transform_pipeline/transformations/data_attributes.rb
inline_svg-1.6.0 lib/inline_svg/transform_pipeline/transformations/data_attributes.rb
inline_svg-1.5.2 lib/inline_svg/transform_pipeline/transformations/data_attributes.rb
inline_svg-1.5.1 lib/inline_svg/transform_pipeline/transformations/data_attributes.rb
inline_svg-1.5.0 lib/inline_svg/transform_pipeline/transformations/data_attributes.rb
inline_svg-1.4.0 lib/inline_svg/transform_pipeline/transformations/data_attributes.rb
inline_svg-1.3.1 lib/inline_svg/transform_pipeline/transformations/data_attributes.rb
inline_svg-1.3.0 lib/inline_svg/transform_pipeline/transformations/data_attributes.rb
inline_svg-1.2.3 lib/inline_svg/transform_pipeline/transformations/data_attributes.rb
inline_svg-1.2.2 lib/inline_svg/transform_pipeline/transformations/data_attributes.rb