Sha256: 7a63e13b37143ebf5752613f515d0bbad713eb1ead7c4fd7de5bdb298330820b
Contents?: true
Size: 926 Bytes
Versions: 98
Compression:
Stored size: 926 Bytes
Contents
# frozen_string_literal: true module ActiveRecord module ConnectionAdapters module PostgreSQL module OID # :nodoc: class Uuid < Type::Value # :nodoc: ACCEPTABLE_UUID = %r{\A(\{)?([a-fA-F0-9]{4}-?){8}(?(1)\}|)\z} alias :serialize :deserialize def type :uuid end def changed?(old_value, new_value, _new_value_before_type_cast) old_value.class != new_value.class || new_value && old_value.casecmp(new_value) != 0 end def changed_in_place?(raw_old_value, new_value) raw_old_value.class != new_value.class || new_value && raw_old_value.casecmp(new_value) != 0 end private def cast_value(value) casted = value.to_s casted if casted.match?(ACCEPTABLE_UUID) end end end end end end
Version data entries
98 entries across 93 versions & 10 rubygems