class Libis::Format::Converter::ImageAssembler
noinspection RubyTooManyInstanceVariablesInspection,DuplicatedCode
Public Class Methods
category()
click to toggle source
# File lib/libis/format/converter/image_assembler.rb, line 33 def self.category :assembler end
input_types()
click to toggle source
# File lib/libis/format/converter/image_assembler.rb, line 24 def self.input_types [:TIFF, :JPG, :PNG, :BMP, :GIF, :PDF, :JP2] end
output_types(format = nil)
click to toggle source
# File lib/libis/format/converter/image_assembler.rb, line 28 def self.output_types(format = nil) return [] unless input_types.include?(format) if format [:PDF, :TIFF, :GIF, :PBM, :PGM, :PPM] end
Public Instance Methods
convert(source, target, format, opts = {})
click to toggle source
Calls superclass method
Libis::Format::Converter::Base#convert
# File lib/libis/format/converter/image_assembler.rb, line 45 def convert(source, target, format, opts = {}) super FileUtils.mkpath(File.dirname(target)) if source.is_a? Array assemble(source, target, format) elsif File.directory?(source) source_list = Dir[File.join(source, '**', '*')].reject {|p| File.directory? p} assemble(source_list, target, format) else image = MiniMagick::Image.open(source) {|b| b.quiet} if image.pages.size > 1 assemble(image.pages.map {|page| page.path}, target, format) else assemble([source], target, format) end end target end
image_assemble(_)
click to toggle source
# File lib/libis/format/converter/image_assembler.rb, line 37 def image_assemble(_) #force usage of this converter end
quiet(v)
click to toggle source
# File lib/libis/format/converter/image_assembler.rb, line 41 def quiet(v) @quiet = !!v end
Private Instance Methods
assemble(sources, target, format)
click to toggle source
# File lib/libis/format/converter/image_assembler.rb, line 70 def assemble(sources, target, format) MiniMagick::Tool::Convert.new do |b| sources.each {|source| b << source} convert.format(format) b << target end end