Class: Lipsiadmin::Attachment::Processor

Inherits:
Object
  • Object
show all
Defined in:
lib/data_base/attachment/processor.rb

Overview

Attachment processors allow you to modify attached files when they are attached in any way you are able. Attachment 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 Attachment module and are also required to be a subclass of Attachment::Processor. There are only two methods you must implement to properly be a subclass: #initialize and #make. Initialize’s arguments are the file that will be operated on (which is an instance of File), and a hash of options that were defined in has_attached_file’s style hash.

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

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

Direct Known Subclasses

Thumbnail

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file, options = {}) ⇒ Processor

Returns a new instance of Processor.



23
24
25
26
# File 'lib/data_base/attachment/processor.rb', line 23

def initialize(file, options = {})
  @file = file
  @options = options
end

Instance Attribute Details

#fileObject

Returns the value of attribute file.



21
22
23
# File 'lib/data_base/attachment/processor.rb', line 21

def file
  @file
end

#optionsObject

Returns the value of attribute options.



21
22
23
# File 'lib/data_base/attachment/processor.rb', line 21

def options
  @options
end

Class Method Details

.make(file, options = {}) ⇒ Object



31
32
33
# File 'lib/data_base/attachment/processor.rb', line 31

def self.make(file, options = {})
  new(file, options).make
end

Instance Method Details

#makeObject



28
29
# File 'lib/data_base/attachment/processor.rb', line 28

def make
end