Sha256: 9597b73a023a30a03df9f9d94219b7e125a234b334cca10d45cfbf308c4d5796

Contents?: true

Size: 705 Bytes

Versions: 2

Compression:

Stored size: 705 Bytes

Contents

require "dragonfly/image_magick/commands"

module Dragonfly
  module ImageMagick
    module Processors
      class Encode
        include ParamValidators

        WHITELISTED_ARGS = %w(quality)

        IS_IN_WHITELISTED_ARGS = ->(args_string) {
          args_string.scan(/-\w+/).all? { |arg|
            WHITELISTED_ARGS.include?(arg.sub("-", ""))
          }
        }

        def update_url(attrs, format, args = "")
          attrs.ext = format.to_s
        end

        def call(content, format, args = "")
          validate!(format, &is_word)
          validate!(args, &IS_IN_WHITELISTED_ARGS)
          Commands.convert(content, args, "format" => format)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dragonfly-1.4.1 lib/dragonfly/image_magick/processors/encode.rb
dragonfly-1.4.0 lib/dragonfly/image_magick/processors/encode.rb