Class: ActiveRecord::ConnectionAdapters::Redshift::TypeMetadata

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of TypeMetadata.



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

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

Instance Attribute Details

#arrayObject (readonly)

Returns the value of attribute array.



5
6
7
# File 'lib/active_record/connection_adapters/redshift/type_metadata.rb', line 5

def array
  @array
end

#fmodObject (readonly)

Returns the value of attribute fmod.



5
6
7
# File 'lib/active_record/connection_adapters/redshift/type_metadata.rb', line 5

def fmod
  @fmod
end

#oidObject (readonly)

Returns the value of attribute oid.



5
6
7
# File 'lib/active_record/connection_adapters/redshift/type_metadata.rb', line 5

def oid
  @oid
end

Instance Method Details

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



19
20
21
22
# File 'lib/active_record/connection_adapters/redshift/type_metadata.rb', line 19

def ==(other)
  other.is_a?(Redshift::TypeMetadata) &&
    attributes_for_hash == other.attributes_for_hash
end

#hashObject



25
26
27
# File 'lib/active_record/connection_adapters/redshift/type_metadata.rb', line 25

def hash
  attributes_for_hash.hash
end

#sql_typeObject



15
16
17
# File 'lib/active_record/connection_adapters/redshift/type_metadata.rb', line 15

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