123456789_123456789_123456789_123456789_123456789_

Class: ActiveRecord::ConnectionAdapters::MySQL::TypeMetadata

Do not use. This class is for internal use only.

Class Method Summary

Instance Attribute Summary

Instance Method Summary

Constructor Details

.new(type_metadata, extra: nil) ⇒ TypeMetadata

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/mysql/type_metadata.rb', line 13

def initialize(, extra: nil)
  super()
  @extra = extra
end

Instance Attribute Details

#extra (readonly)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/mysql/type_metadata.rb', line 11

attr_reader :extra

Instance Method Details

#==(other) Also known as: #eql?

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/mysql/type_metadata.rb', line 18

def ==(other)
  other.is_a?(TypeMetadata) &&
    __getobj__ == other.__getobj__ &&
    extra == other.extra
end

#deduplicated (private)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/mysql/type_metadata.rb', line 32

def deduplicated
  __setobj__(__getobj__.deduplicate)
  @extra = -extra if extra
  super
end

#eql?(other)

Alias for #==.

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/mysql/type_metadata.rb', line 23

alias eql? ==

#hash

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/mysql/type_metadata.rb', line 25

def hash
  TypeMetadata.hash ^
    __getobj__.hash ^
    extra.hash
end