123456789_123456789_123456789_123456789_123456789_

Module: JSON::ParserOptions

Do not use. This module is for internal use only.
Relationships & Source Files
Defined in: ext/json/lib/json/common.rb

Class Method Summary

Class Method Details

.array_class_proc(array_class, on_load) (private)

[ GitHub ]

  
# File 'ext/json/lib/json/common.rb', line 27

def array_class_proc(array_class, on_load)
  ->(obj) do
    if Array === obj
      array = array_class.new
      obj.each { |v| array << v }
      obj = array
    end
    on_load.nil? ? obj : on_load.call(obj)
  end
end

.object_class_proc(object_class, on_load) (private)

[ GitHub ]

  
# File 'ext/json/lib/json/common.rb', line 16

def object_class_proc(object_class, on_load)
  ->(obj) do
    if Hash === obj
      object = object_class.new
      obj.each { |k, v| object[k] = v }
      obj = object
    end
    on_load.nil? ? obj : on_load.call(obj)
  end
end

.on_load(on_load, object_class, array_class)

[ GitHub ]

  
# File 'ext/json/lib/json/common.rb', line 8

def on_load(on_load, object_class, array_class)
  on_load = object_class_proc(object_class, on_load) if object_class
  on_load = array_class_proc(array_class, on_load) if array_class
  on_load
end