class Paperclip::Processor

Paperclip processors allow you to modify attached files when they are attached in any way you are able. Paperclip itself uses command-line programs for its included Thumbnail processor, but custom processors are not required to follow suit.

Processors are required to be defined inside the Paperclip module and are also required to be a subclass of Paperclip::Processor. There is only one method you must implement to properly be a subclass: make, but initialize may also be of use. Both methods accept 3 arguments: the file that will be operated on (which is an instance of File), a hash of options that were defined in has_attached_file’s style hash, and the Paperclip::Attachment itself.

All make needs to return is an instance of File (Tempfile is acceptable) which contains the results of the processing.

See Paperclip.run for more information about using command-line utilities from within Processors.

Attributes

attachment[RW]
file[RW]
options[RW]

Public Class Methods

make(file, options = {}) click to toggle source
# File lib/paperclip/processor.rb, line 32
def self.make file, options = {}, attachment = nil
  new(file, options, attachment).make
end
new(file, options = {}) click to toggle source
# File lib/paperclip/processor.rb, line 23
def initialize file, options = {}, attachment = nil
  @file = file
  @options = options
  @attachment = attachment
end

Public Instance Methods

convert(arguments = "", local_options = {}) click to toggle source

The convert method runs the convert binary with the provided arguments. See Paperclip.run for the available options.

# File lib/paperclip/processor.rb, line 38
def convert(arguments = "", local_options = {})
  Paperclip.run('convert', arguments, local_options)
end
identify(arguments = "", local_options = {}) click to toggle source

The identify method runs the identify binary with the provided arguments. See Paperclip.run for the available options.

# File lib/paperclip/processor.rb, line 44
def identify(arguments = "", local_options = {})
  Paperclip.run('identify', arguments, local_options)
end
make() click to toggle source
# File lib/paperclip/processor.rb, line 29
def make
end