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