lib/backgrounder/orm/base.rb in carrierwave_backgrounder-0.0.9 vs lib/backgrounder/orm/base.rb in carrierwave_backgrounder-0.1.0

- old
+ new

@@ -37,22 +37,17 @@ # def self.up # add_column :users, :avatar_processing, :boolean # end # def process_in_background(column, worker=::CarrierWave::Workers::ProcessAsset) - send :before_save, :"set_#{column}_processing", :if => :"trigger_#{column}_background_processing?" - if self.respond_to?(:after_commit) - send :after_commit, :"enqueue_#{column}_background_job", :if => :"trigger_#{column}_background_processing?" - else - send :after_save, :"enqueue_#{column}_background_job", :if => :"trigger_#{column}_background_processing?" - end send :attr_accessor, :"process_#{column}_upload" - mod = Module.new - include mod + send :before_save, :"set_#{column}_processing", :if => :"trigger_#{column}_background_processing?" + callback = self.respond_to?(:after_commit) ? :after_commit : :after_save + send callback, :"enqueue_#{column}_background_job", :if => :"trigger_#{column}_background_processing?" - mod.module_eval <<-RUBY, __FILE__, __LINE__ + 1 + class_eval <<-RUBY, __FILE__, __LINE__ + 1 def set_#{column}_processing self.#{column}_processing = true if respond_to?(:#{column}_processing) end @@ -88,19 +83,15 @@ # mount_uploader :avatar, AvatarUploader # store_in_background :avatar, CustomWorker # end # def store_in_background(column, worker=::CarrierWave::Workers::StoreAsset) - if self.respond_to?(:after_commit) - send :after_commit, :"enqueue_#{column}_background_job", :if => :"trigger_#{column}_background_storage?" - else - send :after_save, :"enqueue_#{column}_background_job", :if => :"trigger_#{column}_background_storage?" - end send :attr_accessor, :"process_#{column}_upload" - mod = Module.new - include mod - mod.module_eval <<-RUBY, __FILE__, __LINE__ + 1 + callback = self.respond_to?(:after_commit) ? :after_commit : :after_save + send callback, :"enqueue_#{column}_background_job", :if => :"trigger_#{column}_background_storage?" + + class_eval <<-RUBY, __FILE__, __LINE__ + 1 def write_#{column}_identifier super() and return if process_#{column}_upload self.#{column}_tmp = _mounter(:#{column}).cache_name if _mounter(:#{column}).cache_name end