module Aws::Json

def dump(value)

def dump(value)
  @engine.dump(value)
end

def engine

Returns:
  • (Class) - Returns the default engine.
def engine
  set_default_engine unless @engine
  @engine
end

def engine=(engine)

Parameters:
  • engine (Symbol, Class) --
def engine=(engine)
  @engine = Class === engine ? engine : load_engine(engine)
end

def load(json)

def load(json)
  @engine.load(json)
end

def load_engine(name)

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

def set_default_engine

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

def try_load_engine(name)

def try_load_engine(name)
  load_engine(name)
rescue LoadError
  false
end