class Concurrent::Atom

def compare_and_set(old_value, new_value)

Returns:
  • (Boolean) - True if the value is changed else false.

Parameters:
  • new_value (Object) -- The intended new value.
  • old_value (Object) -- The expected current value.
def compare_and_set(old_value, new_value)
  if valid?(new_value) && compare_and_set_value(old_value, new_value)
    observers.notify_observers(Time.now, old_value, new_value)
    true
  else
    false
  end
end