Class: MultiJson::Adapters::JsonCommon

Inherits:
MultiJson::Adapter show all
Defined in:
lib/multi_json/adapters/json_common.rb

Direct Known Subclasses

JsonGem, JsonPure

Instance Attribute Summary

Attributes included from Options

#dump_options, #load_options

Instance Method Summary collapse

Methods inherited from MultiJson::Adapter

activate!, defaults, dump, load

Methods included from Options

#default_dump_options, #default_load_options

Instance Method Details

#dump(object, options = {}) ⇒ Object



19
20
21
22
# File 'lib/multi_json/adapters/json_common.rb', line 19

def dump(object, options={})
  options.merge!(::JSON::PRETTY_STATE_PROTOTYPE.to_h) if options.delete(:pretty)
  object.to_json(options)
end

#load(string, options = {}) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/multi_json/adapters/json_common.rb', line 8

def load(string, options={})
  string = string.read if string.respond_to?(:read)

  if string.respond_to?(:force_encoding)
    string = string.dup.force_encoding(::Encoding::ASCII_8BIT)
  end

  options[:symbolize_names] = true if options.delete(:symbolize_keys)
  ::JSON.parse(string, options)
end