Module: Arel::Nodes::UpdateStatementExt

Included in:
UpdateStatement
Defined in:
lib/delta_attributes3_2/update_statement.rb

Instance Method Summary collapse

Instance Method Details

#values_changedObject



26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/delta_attributes3_2/update_statement.rb', line 26

def values_changed
  changed = instance_variable_get("@values_changed")
  return @values unless changed

  @values.map {|m|
    attr_name = m.left.expr.name
    new_value = m.right
    if changed[attr_name]
      Arel::Nodes::DeltaAttribute.new(m, new_value, changed[attr_name])
    else
      m
    end
  }
end

#values_changed=(values) ⇒ Object



22
23
24
# File 'lib/delta_attributes3_2/update_statement.rb', line 22

def values_changed=(values)
  instance_variable_set("@values_changed", values)
end