lib/attached/attachment.rb in attached-0.1.8 vs lib/attached/attachment.rb in attached-0.1.9
- old
+ new
@@ -1,20 +1,23 @@
require 'guid'
require 'attached/storage'
+require 'attached/storage/error'
+
require 'attached/processor'
-require 'attached/image'
+require 'attached/processor/error'
module Attached
class Attachment
attr_reader :file
attr_reader :name
attr_reader :instance
attr_reader :queue
+ attr_reader :errors
attr_reader :path
attr_reader :styles
attr_reader :default
attr_reader :medium
attr_reader :credentials
@@ -64,10 +67,11 @@
@name = name
@instance = instance
@queue = {}
+ @errors = []
@path = options[:path]
@styles = options[:styles]
@default = options[:default]
@medium = options[:medium]
@@ -265,16 +269,21 @@
#
# self.process
def process
self.queue[self.default] = self.file
+
+ begin
- self.processors.each do |processor|
- self.styles.each do |style, options|
- case processor
- when :image then self.queue[style] = Attached::Image.process(self.queue[style] || self.file, options, self)
+ self.processors.each do |processor|
+ processor = Attached::Processor.processor(processor)
+ self.styles.each do |style, options|
+ self.queue[style] = processor.process(self.queue[style] || self.file, options, self)
end
end
+
+ rescue Attached::Processor::Error => error
+ self.errors << error.message
end
end
# Helper function for setting instance variables.
\ No newline at end of file