class ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Uuid

:nodoc:
:nodoc:

def cast_value(value)

def cast_value(value)
  value = value.to_s
  format_uuid(value) if value.match?(ACCEPTABLE_UUID)
end

def changed?(old_value, new_value, _new_value_before_type_cast)

def changed?(old_value, new_value, _new_value_before_type_cast)
  old_value.class != new_value.class ||
    new_value != old_value
end

def changed_in_place?(raw_old_value, new_value)

def changed_in_place?(raw_old_value, new_value)
  raw_old_value.class != new_value.class ||
    new_value != raw_old_value
end

def format_uuid(uuid)

def format_uuid(uuid)
  if uuid.match?(CANONICAL_UUID)
    uuid
  else
    uuid = uuid.delete("{}-").downcase
    "#{uuid[..7]}-#{uuid[8..11]}-#{uuid[12..15]}-#{uuid[16..19]}-#{uuid[20..]}"
  end
end

def type

def type
  :uuid
end