Class: ActiveRecord::Type::Uuid::Data
- Inherits:
-
Object
- Object
- ActiveRecord::Type::Uuid::Data
- Defined in:
- lib/active_record-mysql-uuid_column/type_class.rb
Class Method Summary collapse
Instance Method Summary collapse
- #==(other) ⇒ Object
- #hex ⇒ Object
-
#initialize(display_format, storage_format) ⇒ Data
constructor
A new instance of Data.
- #to_s ⇒ Object (also: #to_str)
Constructor Details
#initialize(display_format, storage_format) ⇒ Data
Returns a new instance of Data.
46 47 48 |
# File 'lib/active_record-mysql-uuid_column/type_class.rb', line 46 def initialize(display_format, storage_format) @display_format, @storage_format = display_format, storage_format end |
Class Method Details
.from_database(value) ⇒ Object
55 56 57 58 59 60 61 62 63 |
# File 'lib/active_record-mysql-uuid_column/type_class.rb', line 55 def self.from_database(value) return value if value.is_a? Data storage_format = value.unpack('H*').first.rjust(32, '0') new( storage_format.gsub(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/, '\1-\2-\3-\4-\5'), storage_format ) end |
.from_uuid_string(uuid) ⇒ Object
50 51 52 53 |
# File 'lib/active_record-mysql-uuid_column/type_class.rb', line 50 def self.from_uuid_string(uuid) return nil if uuid.nil? new(uuid, uuid.downcase.gsub(/[^a-f0-9]/, '')) end |
Instance Method Details
#==(other) ⇒ Object
74 75 76 |
# File 'lib/active_record-mysql-uuid_column/type_class.rb', line 74 def ==(other) other == to_s || super end |
#hex ⇒ Object
70 71 72 |
# File 'lib/active_record-mysql-uuid_column/type_class.rb', line 70 def hex @storage_format end |
#to_s ⇒ Object Also known as: to_str
65 66 67 |
# File 'lib/active_record-mysql-uuid_column/type_class.rb', line 65 def to_s @display_format end |