class Presto::MiniMagick::Processor

Attributes

transformation[R]

Public Class Methods

new(params={}) click to toggle source
# File lib/presto/mini_magick.rb, line 15
def initialize params={}
        @transformation = ::Presto::Transformation.new(params)
end
process(image, params={}) click to toggle source
# File lib/presto/mini_magick.rb, line 9
def self.process image, params={}
        new(params).process(image)
end

Public Instance Methods

process(image) click to toggle source
# File lib/presto/mini_magick.rb, line 19
def process image
        return image if trans.empty?
        trans.validate!
        process_fit(image) if trans[:w] || trans[:h]
        process_format(image) if trans[:fm]
        process_quality(image) if trans[:q]
        image
rescue ::Veto::InvalidEntity => e
        raise(::Presto::InvalidTransformation, e.message)
end

Private Instance Methods

process_clip_fit(image) click to toggle source
# File lib/presto/mini_magick.rb, line 46
def process_clip_fit image
        d = resized_dimensions(image)
        image.resize "#{d.width}x#{d.height}"
end
process_crop_fit(image) click to toggle source
# File lib/presto/mini_magick.rb, line 36
def process_crop_fit image
        d = replaced_dimensions(image)
        image.combine_options do |cmd|
                cmd.resize "#{d.width}x#{d.height}^"
                cmd.background trans[:bg]
                cmd.gravity 'Center'
                cmd.extent "#{d.width}x#{d.height}"
        end
end
process_fill_fit(image) click to toggle source
# File lib/presto/mini_magick.rb, line 61
def process_fill_fit image
        d = replaced_dimensions(image)
        image.combine_options do |cmd|
                cmd.resize "#{d.width}x#{d.height}"
                cmd.background trans[:bg]
                cmd.gravity 'Center'
                cmd.extent "#{d.width}x#{d.height}"
        end
end
process_fit(image) click to toggle source
# File lib/presto/mini_magick.rb, line 32
def process_fit image
        send("process_#{trans[:fit]}_fit", image)
end
process_format(image) click to toggle source
# File lib/presto/mini_magick.rb, line 71
def process_format image
        image.format trans[:fm]
end
process_max_fit(image) click to toggle source
# File lib/presto/mini_magick.rb, line 56
def process_max_fit image
        d = replaced_dimensions(image)
        image.resize "#{d.width}x#{d.height}>"
end
process_quality(image) click to toggle source
# File lib/presto/mini_magick.rb, line 75
def process_quality image
        image.quality trans[:q]
end
process_scale_fit(image) click to toggle source
# File lib/presto/mini_magick.rb, line 51
def process_scale_fit image
        d = replaced_dimensions(image)
        image.resize "#{d.width}x#{d.height}!"
end
replaced_dimensions(image) click to toggle source
# File lib/presto/mini_magick.rb, line 83
def replaced_dimensions image
        w = trans[:w] || image[:width]
        h = trans[:h] || image[:height]
        ::Presto::Dimensions.new w, h
end
resized_dimensions(image) click to toggle source
# File lib/presto/mini_magick.rb, line 79
def resized_dimensions image
        ::Presto::Dimensions.resize(image[:width], image[:height], trans[:w], trans[:h])
end
trans() click to toggle source
# File lib/presto/mini_magick.rb, line 89
def trans
        transformation
end