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