Method: JSON::Pure::Parser#initialize

Defined in:
lib/crazy_ivan/vendor/json-1.1.7/lib/json/pure/parser.rb

#initialize(source, opts = {}) ⇒ Parser

Creates a new JSON::Pure::Parser instance for the string source.

It will be configured by the opts hash. opts can have the following keys:

  • max_nesting: The maximum depth of nesting allowed in the parsed data structures. Disable depth checking with :max_nesting => false|nil|0, it defaults to 19.

  • allow_nan: If set to true, allow NaN, Infinity and -Infinity in defiance of RFC 4627 to be parsed by the Parser. This option defaults to false.

  • create_additions: If set to false, the Parser doesn’t create additions even if a matchin class and create_id was found. This option defaults to true.

  • object_class: Defaults to Hash

  • array_class: Defaults to Array



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/crazy_ivan/vendor/json-1.1.7/lib/json/pure/parser.rb', line 68

def initialize(source, opts = {})
  super
  if !opts.key?(:max_nesting) # defaults to 19
    @max_nesting = 19
  elsif opts[:max_nesting]
    @max_nesting = opts[:max_nesting]
  else
    @max_nesting = 0
  end
  @allow_nan = !!opts[:allow_nan]
  ca = true
  ca = opts[:create_additions] if opts.key?(:create_additions)
  @create_id = ca ? JSON.create_id : nil
  @object_class = opts[:object_class] || Hash
  @array_class = opts[:array_class] || Array
end