class SlackBigEmoji::Converter

Attributes

crop_size[RW]
file_name[RW]
file_resize_spec[RW]
image[RW]
output_dir[RW]
output_filename[RW]
output_path[RW]
ratio[RW]
tile_width[RW]

Public Class Methods

new(options={}) click to toggle source
# File lib/slack_big_emoji/converter.rb, line 8
def initialize(options={})
  @image = ::MiniMagick::Image.open(options[:file])
  @file_name = File.basename(options[:file], ".*")
  @ratio = @image[:width].to_f/@image[:height].to_f
  @file_resize_spec = '640x640'
  @tile_width = 5
  @crop_size = '128x128'
  @output_dir = options[:output_dir] || @file_name
  @output_filename = options[:output_filename] || @file_name
  @output_path = "#{@output_dir}/#{@output_filename}%02d.png"
end

Public Instance Methods

convert() click to toggle source
# File lib/slack_big_emoji/converter.rb, line 24
def convert
  convert_opts = ["-resize", @file_resize_spec, "-crop", @crop_size]
  Dir.mkdir(@output_dir) unless File.exists?(@output_dir)
  ::MiniMagick::Tool::Convert.new do |convert|
    convert << @image.path
    convert.merge! convert_opts
    convert << @output_path
  end
end
valid?() click to toggle source
# File lib/slack_big_emoji/converter.rb, line 20
def valid?
  return @ratio == 1
end