# File lib/dragonfly/active_model_extensions/attachment.rb, line 38 def assign(value) self.changed = true destroy_retained! if retained? set_uid_and_model_uid(nil) if value.nil? self.job = nil reset_magic_attributes self.class.run_callbacks(:after_unassign, model, self) if should_run_callbacks? else self.job = case value when Job then value.dup when self.class then value.job.dup else app.new_job(value) end set_magic_attributes update_meta self.class.run_callbacks(:after_assign, model, self) if should_run_callbacks? retain! if should_retain? end value end