Class: ActiveRecord::ConnectionAdapters::Redshift::OID::Jsonb

Inherits:
Json
  • Object
show all
Defined in:
lib/active_record/connection_adapters/redshift_7_0/oid/jsonb.rb,
lib/active_record/connection_adapters/redshift_7_1/oid/jsonb.rb,
lib/active_record/connection_adapters/redshift_7_2/oid/jsonb.rb

Overview

:nodoc:

Instance Method Summary collapse

Methods inherited from Json

#accessor, #type_cast_for_database, #type_cast_from_database

Instance Method Details

#changed_in_place?(raw_old_value, new_value) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
15
16
17
18
19
20
# File 'lib/active_record/connection_adapters/redshift_7_0/oid/jsonb.rb', line 12

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

#typeObject



8
9
10
# File 'lib/active_record/connection_adapters/redshift_7_0/oid/jsonb.rb', line 8

def type
  :jsonb
end