class ActiveRecord::Type::Uuid
Public Instance Methods
assert_valid_value(value)
click to toggle source
# File lib/active_record-mysql-uuid_column/type_class.rb, line 30 def assert_valid_value(value) case value.class when String, ActiveSupport::ToJsonWithActiveSupportEncoder if value.blank? || value.to_s.downcase.gsub(/[^a-f0-9]/, '').size == 32 value else raise SerializationTypeMismatch, "Invalid String uuid '#{value}'" end else raise SerializationTypeMismatch, "Unsupported value object of type #{value.class}." end end
cast(value)
click to toggle source
from user input (string) to database
Calls superclass method
# File lib/active_record-mysql-uuid_column/type_class.rb, line 15 def cast(value) if value.is_a?(Data) value elsif value.is_a?(ActiveSupport::ToJsonWithActiveSupportEncoder) or value.is_a?(String) Data.from_uuid_string(super) else raise ArgumentError, "Unsupported input data of class type #{value.class}" end end
deserialize(value)
click to toggle source
from database binary(16) to string
# File lib/active_record-mysql-uuid_column/type_class.rb, line 9 def deserialize(value) return nil if value.nil? Data.from_database(value) end
serialize(value)
click to toggle source
# File lib/active_record-mysql-uuid_column/type_class.rb, line 26 def serialize(value) value end
type()
click to toggle source
# File lib/active_record-mysql-uuid_column/type_class.rb, line 4 def type :uuid end