Class: MultiJson::Adapters::Oj

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

Overview

Use the Oj library to dump/load.

Defined Under Namespace

Classes: ParseError

Instance Method Summary collapse

Methods inherited from MultiJson::Adapter

defaults, dump, load

Methods included from Options

#default_dump_options, #default_load_options, #dump_options, #dump_options=, #load_options, #load_options=

Instance Method Details

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



49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/multi_json/adapters/oj.rb', line 49

def dump(object, options = {})
  if OJ_V2
    options[:indent] = 2 if options[:pretty]
    options[:indent] = options[:indent].to_i if options[:indent]
  elsif OJ_V3
    options.merge!(PRETTY_STATE_PROTOTYPE.dup) if options.delete(:pretty)
  else
    raise "Unsupported Oj version: #{::Oj::VERSION}"
  end

  ::Oj.dump(object, options)
end

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



27
28
29
30
# File 'lib/multi_json/adapters/oj.rb', line 27

def load(string, options = {})
  options[:symbol_keys] = options[:symbolize_keys]
  ::Oj.load(string, options)
end