lib/saviour/model.rb in saviour-0.4.5 vs lib/saviour/model.rb in saviour-0.4.6
- old
+ new
@@ -1,24 +1,33 @@
module Saviour
- NoActiveRecordDetected = Class.new(StandardError)
-
module Model
def self.included(klass)
Integrator.new(klass, PersistenceLayer).setup!
klass.class_eval do
raise(NoActiveRecordDetected, "Error: ActiveRecord not detected in #{self}") unless self.ancestors.include?(ActiveRecord::Base)
after_destroy { Saviour::LifeCycle.new(self, PersistenceLayer).delete! }
- after_save { Saviour::LifeCycle.new(self, PersistenceLayer).save! }
+ after_update { Saviour::LifeCycle.new(self, PersistenceLayer).update! }
+ after_create { Saviour::LifeCycle.new(self, PersistenceLayer).create! }
validate { Saviour::Validator.new(self).validate! }
end
end
def reload
self.class.attached_files.each do |attach_as|
instance_variable_set("@__uploader_#{attach_as}", nil)
end
super
+ end
+
+ def dup
+ duped = super
+
+ self.class.attached_files.each do |attach_as|
+ duped.instance_variable_set("@__uploader_#{attach_as}", send(attach_as).dup)
+ end
+
+ duped
end
end
end
\ No newline at end of file