class ActiveRecord::Type::Json

def accessor

def accessor
  ActiveRecord::Store::StringKeyedHashAccessor
end

def changed_in_place?(raw_old_value, new_value)

def changed_in_place?(raw_old_value, new_value)
  deserialize(raw_old_value) != new_value
end

def deserialize(value)

def deserialize(value)
  return value unless value.is_a?(::String)
  ActiveSupport::JSON.decode(value) rescue nil
end

def serialize(value)

def serialize(value)
  ActiveSupport::JSON.encode(value) unless value.nil?
end

def type

def type
  :json
end