module Aws::Json
@api private
Public Class Methods
Source
# File lib/aws-sdk-core/json.rb, line 46 def dump(value) @engine.dump(value) end
Source
# File lib/aws-sdk-core/json.rb, line 37 def engine set_default_engine unless @engine @engine end
@return [Class] Returns the default engine.
One of: * {OjEngine} * {JsonEngine}
Source
# File lib/aws-sdk-core/json.rb, line 27 def engine=(engine) @engine = Class === engine ? engine : load_engine(engine) end
@param [Symbol,Class] engine
Must be one of the following values: * :oj * :json
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
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
Source
# File lib/aws-sdk-core/json.rb, line 69 def try_load_engine(name) load_engine(name) rescue LoadError false end