Class: ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::OID::Hstore

Inherits:
Type
  • Object
show all
Defined in:
activerecord/lib/active_record/connection_adapters/postgresql/oid.rb

Instance Method Summary collapse

Methods inherited from Type

#type

Instance Method Details

#accessorObject


246
247
248
# File 'activerecord/lib/active_record/connection_adapters/postgresql/oid.rb', line 246

def accessor
  ActiveRecord::Store::StringKeyedHashAccessor
end

#type_cast(value) ⇒ Object


240
241
242
243
244
# File 'activerecord/lib/active_record/connection_adapters/postgresql/oid.rb', line 240

def type_cast(value)
  return if value.nil?

  ConnectionAdapters::PostgreSQLColumn.string_to_hstore value
end

#type_cast_for_write(value) ⇒ Object


233
234
235
236
237
238
# File 'activerecord/lib/active_record/connection_adapters/postgresql/oid.rb', line 233

def type_cast_for_write(value)
  # roundtrip to ensure uniform uniform types
  # TODO: This is not an efficient solution.
  stringified = ConnectionAdapters::PostgreSQLColumn.hstore_to_string(value)
  type_cast(stringified)
end