Class: ActiveRecord::ConnectionAdapters::PostgreSQLTypeMetadata

Inherits:
SqlTypeMetadata
  • Object
show all
Defined in:
lib/active_record/connection_adapters/postgresql/type_metadata.rb

Instance Attribute Summary collapse

Attributes inherited from SqlTypeMetadata

#limit, #precision, #scale, #type

Instance Method Summary collapse

Constructor Details

#initialize(type_metadata, oid: nil, fmod: nil) ⇒ PostgreSQLTypeMetadata

Returns a new instance of PostgreSQLTypeMetadata.


8
9
10
11
12
13
14
# File 'lib/active_record/connection_adapters/postgresql/type_metadata.rb', line 8

def initialize(, oid: nil, fmod: nil)
  super()
  @type_metadata = 
  @oid = oid
  @fmod = fmod
  @array = /\[\]$/.match?(.sql_type)
end

Instance Attribute Details

#arrayObject (readonly)

Returns the value of attribute array


6
7
8
# File 'lib/active_record/connection_adapters/postgresql/type_metadata.rb', line 6

def array
  @array
end

#fmodObject (readonly)

Returns the value of attribute fmod


6
7
8
# File 'lib/active_record/connection_adapters/postgresql/type_metadata.rb', line 6

def fmod
  @fmod
end

#oidObject (readonly)

Returns the value of attribute oid


6
7
8
# File 'lib/active_record/connection_adapters/postgresql/type_metadata.rb', line 6

def oid
  @oid
end

Instance Method Details

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


20
21
22
23
# File 'lib/active_record/connection_adapters/postgresql/type_metadata.rb', line 20

def ==(other)
  other.is_a?(PostgreSQLTypeMetadata) &&
    attributes_for_hash == other.attributes_for_hash
end

#hashObject


26
27
28
# File 'lib/active_record/connection_adapters/postgresql/type_metadata.rb', line 26

def hash
  attributes_for_hash.hash
end

#sql_typeObject


16
17
18
# File 'lib/active_record/connection_adapters/postgresql/type_metadata.rb', line 16

def sql_type
  super.gsub(/\[\]$/, "".freeze)
end