Class: ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Jsonb
- Inherits:
-
Json
- Object
- Type::Value
- Json
- ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Jsonb
- Defined in:
- lib/active_record/connection_adapters/postgresql/oid/jsonb.rb
Overview
:nodoc:
Instance Attribute Summary
Attributes inherited from Type::Value
Instance Method Summary collapse
Methods inherited from Json
#accessor, #type_cast_for_database, #type_cast_from_database
Methods included from Type::Mutable
Methods inherited from Type::Value
#==, #binary?, #changed?, #initialize, #klass, #number?, #text?, #type_cast_for_database, #type_cast_for_schema, #type_cast_from_database, #type_cast_from_user
Constructor Details
This class inherits a constructor from ActiveRecord::Type::Value
Instance Method Details
#changed_in_place?(raw_old_value, new_value) ⇒ Boolean
10 11 12 13 14 15 16 17 18 |
# File 'lib/active_record/connection_adapters/postgresql/oid/jsonb.rb', line 10 def changed_in_place?(raw_old_value, new_value) # Postgres does not preserve insignificant whitespaces when # roundtripping jsonb columns. This causes some false positives for # the comparison here. Therefore, we need to parse and re-dump the # raw value here to ensure the insignificant whitespaces are # consistent with our encoder's output. raw_old_value = type_cast_for_database(type_cast_from_database(raw_old_value)) super(raw_old_value, new_value) end |
#type ⇒ Object
6 7 8 |
# File 'lib/active_record/connection_adapters/postgresql/oid/jsonb.rb', line 6 def type :jsonb end |