# File lib/dragonfly/model/attachment.rb, line 42
      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 = app.new_job(value)
          set_magic_attributes
          job.update_url_attributes(magic_attributes_hash)
          meta.merge!(standard_meta_attributes)
          self.class.run_callbacks(:after_assign, model, self) if should_run_callbacks?
          retain! if should_retain?
        end
        model_uid_will_change!
        value
      end