module Aws::RpcV2
@api private
Public Class Methods
decode(bytes)
click to toggle source
# File lib/aws-sdk-core/rpc_v2.rb, line 37 def decode(bytes) bytes.force_encoding(Encoding::BINARY) @engine.decode(bytes) end
encode(data)
click to toggle source
# File lib/aws-sdk-core/rpc_v2.rb, line 33 def encode(data) @engine.encode(data) end
engine()
click to toggle source
@return [Class] Returns the default engine.
One of: * {CborEngine}
# File lib/aws-sdk-core/rpc_v2.rb, line 28 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: * :cbor
# File lib/aws-sdk-core/rpc_v2.rb, line 19 def engine=(engine) @engine = Class === engine ? engine : load_engine(engine) end
set_default_engine()
click to toggle source
# File lib/aws-sdk-core/rpc_v2.rb, line 42 def set_default_engine [:cbor].each do |name| @engine ||= try_load_engine(name) end unless @engine raise 'Unable to find a compatible cbor library.' end end
Private Class Methods
load_engine(name)
click to toggle source
# File lib/aws-sdk-core/rpc_v2.rb, line 54 def load_engine(name) require "aws-sdk-core/rpc_v2/#{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/rpc_v2.rb, line 60 def try_load_engine(name) load_engine(name) rescue LoadError false end