Class: ActiveRecord::Coders::JSON

Inherits:
Object
  • Object
show all
Defined in:
lib/active_record/coders/json.rb

Overview

:nodoc:

Constant Summary collapse

DEFAULT_ENCODE_OPTIONS =
{ escape: false }.freeze

Instance Method Summary collapse

Constructor Details

#initialize(encode_options: nil, decode_options: nil) ⇒ JSON

Returns a new instance of JSON.



10
11
12
13
14
# File 'lib/active_record/coders/json.rb', line 10

def initialize(encode_options: nil, decode_options: nil)
  encode_options = encode_options ? DEFAULT_ENCODE_OPTIONS.merge(encode_options) : DEFAULT_ENCODE_OPTIONS
  @decode_options = decode_options
  @encoder = ActiveSupport::JSON::Encoding.json_encoder.new(encode_options)
end

Instance Method Details

#dump(obj) ⇒ Object



16
17
18
# File 'lib/active_record/coders/json.rb', line 16

def dump(obj)
  @encoder.encode(obj)
end

#load(json) ⇒ Object



20
21
22
# File 'lib/active_record/coders/json.rb', line 20

def load(json)
  ActiveSupport::JSON.decode(json, @decode_options) unless json.blank?
end