class Poleica::Converters::GraphicsMagick::ConvertOptionsGenerator
Generate options for the GraphicsMagick
to_png @options page [Array, Integer]
Attributes
options[R]
output_path[R]
polei[R]
Public Class Methods
new(polei, options = {})
click to toggle source
# File lib/poleica/converters/graphics_magick/convert_options_generator.rb, line 9 def initialize(polei, options = {}) @polei = polei @options = default_options.merge(options) end
Public Instance Methods
generate()
click to toggle source
# File lib/poleica/converters/graphics_magick/convert_options_generator.rb, line 14 def generate [ 'convert', "#{polei.path}#{page_options}", orient_options, resize_options, output_options ].flatten end
Private Instance Methods
default_options()
click to toggle source
# File lib/poleica/converters/graphics_magick/convert_options_generator.rb, line 26 def default_options { path: polei.path_with_md5(:png), height: DEFAULT_MEASURE, width: DEFAULT_MEASURE, force_resize: false, auto_orient: true, page: 0 } end
orient_options()
click to toggle source
# File lib/poleica/converters/graphics_magick/convert_options_generator.rb, line 42 def orient_options @orient_options ||= options[:auto_orient] ? '-auto-orient' : '' end
output_options()
click to toggle source
# File lib/poleica/converters/graphics_magick/convert_options_generator.rb, line 54 def output_options @output_path = if File.directory?(options[:path]) name = File.basename(polei.path_with_md5(:png)) File.join(options[:path], name) else options[:path] end end
page_options()
click to toggle source
# File lib/poleica/converters/graphics_magick/convert_options_generator.rb, line 37 def page_options @page_options ||= "#{Array(options[:page]).flatten.compact.uniq.sort}" end
resize_options()
click to toggle source
# File lib/poleica/converters/graphics_magick/convert_options_generator.rb, line 46 def resize_options @resize_options ||= [ '-resize', "#{options[:width]}x#{options[:height]}" \ "#{'!' if options[:force_resize]}" ] end