Class: Oj::MimicDumpOption

Inherits:
Hash
  • Object
show all
Defined in:
lib/oj/mimic.rb

Overview

A bit hack-ish but does the trick. The JSON.dump_default_options is a Hash but in mimic we use a C struct to store defaults. This class creates a view onto that struct.

Instance Method Summary collapse

Constructor Details

#initializeMimicDumpOption

Returns a new instance of MimicDumpOption.



14
15
16
17
18
19
20
# File 'lib/oj/mimic.rb', line 14

def initialize()
  oo = Oj.default_options
  self.store(:max_nesting, false)
  self.store(:allow_nan, true)
  self.store(:quirks_mode, oo[:quirks_mode])
  self.store(:ascii_only, (:ascii == oo[:escape_mode]))
end

Instance Method Details

#[]=(key, value) ⇒ Object



22
23
24
25
26
27
28
29
# File 'lib/oj/mimic.rb', line 22

def []=(key, value)
  case key
  when :quirks_mode
    Oj.default_options = {:quirks_mode => value}
  when :ascii_only
    Oj.default_options = {:ascii_only => value}
  end
end