class TBird::Processor

Attributes

image[R]

Public Class Methods

new(file_blob) click to toggle source
# File lib/t_bird/processor.rb, line 8
def initialize(file_blob)
  @file_blob = file_blob
  @image = MiniMagick::Image.read(file_blob)
  @tempfile = Tempfile.new(SecureRandom.uuid)
end

Public Instance Methods

original() click to toggle source
# File lib/t_bird/processor.rb, line 26
def original
  @file_blob
end
process(&block) click to toggle source
# File lib/t_bird/processor.rb, line 14
def process(&block)
  image.combine_options do |img|
    block.call(img) if block_given?
  end
  write_to_file
end
resize(size) click to toggle source
# File lib/t_bird/processor.rb, line 30
def resize(size)
  process do |img|
    img.resize size
  end
end
thumbnail(thumbnail_size = Configuration.thumbnail_size) click to toggle source
# File lib/t_bird/processor.rb, line 36
def thumbnail(thumbnail_size = Configuration.thumbnail_size)
  process do |img|
    img.auto_orient
    img.thumbnail "x#{thumbnail_size*2}"
    img.resize "#{thumbnail_size*2}x<"
    img.resize "50%"
    img.gravity "center"
    img.crop "#{thumbnail_size}x#{thumbnail_size}+0+0"
    img.quality 92
  end
end
write_to_file() click to toggle source
# File lib/t_bird/processor.rb, line 21
def write_to_file
  image.write @tempfile
  @tempfile
end