Method: ActiveData::Model::Attributes::ReferenceOne#write

Defined in:
lib/active_data/model/attributes/reference_one.rb

#write(value) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/active_data/model/attributes/reference_one.rb', line 5

def write(value)
  pollute do
    previous = type_casted_value
    result = write_value value
    changed = (!value.nil? && type_casted_value.nil?) || type_casted_value != previous

    association.reset if changed
    result
  end
end