Sha256: a700e08dcb1d1821bd230696440cd81ccca9fe2c42918bccae3301cba5715cef

Contents?: true

Size: 1.37 KB

Versions: 1

Compression:

Stored size: 1.37 KB

Contents

module InlineSvg::TransformPipeline::Transformations
  def self.all_transformations
    {
      nocomment: NoComment,
      class: ClassAttribute,
      title: Title,
      desc: Description,
      size: Size,
      height: Height,
      width: Width,
      id: IdAttribute,
      data: DataAttributes,
      preserve_aspect_ratio: PreserveAspectRatio
    }
  end

  def self.lookup(transform_params)
    without_empty_values(transform_params).map do |key, value|
      all_transformations.fetch(key, NullTransformation).create_with_value(value)
    end
  end

  def self.without_empty_values(params)
    params.reject {|key, value| value.nil?}
  end
end

require 'inline_svg/transform_pipeline/transformations/transformation'
require 'inline_svg/transform_pipeline/transformations/no_comment'
require 'inline_svg/transform_pipeline/transformations/class_attribute'
require 'inline_svg/transform_pipeline/transformations/title'
require 'inline_svg/transform_pipeline/transformations/description'
require 'inline_svg/transform_pipeline/transformations/size'
require 'inline_svg/transform_pipeline/transformations/height'
require 'inline_svg/transform_pipeline/transformations/width'
require 'inline_svg/transform_pipeline/transformations/id_attribute'
require 'inline_svg/transform_pipeline/transformations/data_attributes'
require 'inline_svg/transform_pipeline/transformations/preserve_aspect_ratio'

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
inline_svg-0.5.3 lib/inline_svg/transform_pipeline/transformations.rb