def initialize name, definition, attachment
@name = name
@attachment = attachment
if definition.is_a? Hash
@geometry = definition.delete(:geometry)
@format = definition.delete(:format)
@processors = definition.delete(:processors)
@convert_options = definition.delete(:convert_options)
@source_file_options = definition.delete(:source_file_options)
@other_args = definition
elsif definition.is_a? String
@geometry = definition
@format = nil
@other_args = {}
else
@geometry, @format = [definition, nil].flatten[0..1]
@other_args = {}
end
@format = nil if @format.blank?
end