module Aws::Json
@api private
Public Class Methods
dump(value)
click to toggle source
# File lib/aws-sdk-core/json.rb, line 46 def dump(value) @engine.dump(value) end
engine()
click to toggle source
@return [Class] Returns the default engine.
One of: * {OjEngine} * {JsonEngine}
# File lib/aws-sdk-core/json.rb, line 37 def engine set_default_engine unless @engine @engine end
engine=(engine)
click to toggle source
@param [Symbol,Class] engine
Must be one of the following values: * :oj * :json
# File lib/aws-sdk-core/json.rb, line 27 def engine=(engine) @engine = Class === engine ? engine : load_engine(engine) end
load(json)
click to toggle source
# File lib/aws-sdk-core/json.rb, line 42 def load(json) @engine.load(json) end
set_default_engine()
click to toggle source
# File lib/aws-sdk-core/json.rb, line 50 def set_default_engine [:oj, :json].each do |name| @engine ||= try_load_engine(name) end unless @engine raise 'Unable to find a compatible json library. ' \ 'Ensure that you have installed or added to your Gemfile one of ' \ 'oj or json' end end
Private Class Methods
load_engine(name)
click to toggle source
# File lib/aws-sdk-core/json.rb, line 63 def load_engine(name) require "aws-sdk-core/json/#{name}_engine" const_name = name[0].upcase + name[1..-1] + 'Engine' const_get(const_name) end
try_load_engine(name)
click to toggle source
# File lib/aws-sdk-core/json.rb, line 69 def try_load_engine(name) load_engine(name) rescue LoadError false end