class Media::InkscapeTransmogrifier
Public Class Methods
available?()
click to toggle source
# File lib/media/transmogrifiers/inkscape.rb, line 20 def self.available? command_available?(INKSCAPE_COMMAND) and magick and magick.available? end
input_types()
click to toggle source
# File lib/media/transmogrifiers/inkscape.rb, line 16 def self.input_types %w(image/svg+xml image/svg+xml-compressed application/illustrator image/bzeps image/eps image/gzeps) end
magick()
click to toggle source
# File lib/media/transmogrifiers/inkscape.rb, line 8 def self.magick Media::Transmogrifier.list["Media::GraphicsMagickTransmogrifier"] end
output_types()
click to toggle source
# File lib/media/transmogrifiers/inkscape.rb, line 12 def self.output_types magick.output_types end
Public Instance Methods
run(&block)
click to toggle source
# File lib/media/transmogrifiers/inkscape.rb, line 24 def run(&block) if output_type == 'image/png' and options.empty? arguments = [INKSCAPE_COMMAND, '--without-gui', '--export-area-drawing', '--export-area-snap', input_file, '--export-png', output_file] run_command(*arguments, &block) else png_output_file = Media::TempFile.new(nil, "image/png") arguments = [INKSCAPE_COMMAND, '--without-gui', '--export-area-drawing', '--export-area-snap', input_file, '--export-png', png_output_file] status = run_command(*arguments, &block) return status if status != :success magick_transmog = self.class.magick.new( options.merge({ input_file: png_output_file, input_type: "image/png", output_file: output_file, output_type: output_type }) ) magick_transmog.run(&block) end end