class Aws::ClientStubs::Stub
def empty_stub(data)
def empty_stub(data) if data.empty? Structure.new(data) else msg = 'unable to generate a stubbed response from the given data; ' msg << 'this operation does not return data' raise ArgumentError, msg end end
def format(data = {})
-
data
(Hash
) -- An optional hash of data to format into the stubbed
def format(data = {}) if @shape.nil? empty_stub(data) else validate_data(data) stub(@shape, data) end end
def initialize(output_shape)
-
output_shape
(Seahorse::Models::Shapes::Structure
) -- This should
def initialize(output_shape) @shape = output_shape end
def structure_obj(shape, hash)
def structure_obj(shape, hash) stubs = Structure.new(shape.member_names) shape.members.each do |member_name, member_shape| value = structure_value(shape, member_name, member_shape, hash) stubs[member_name] = stub(member_shape, value) end stubs end
def structure_value(shape, member_name, member_shape, hash)
def structure_value(shape, member_name, member_shape, hash) if hash.key?(member_name) hash[member_name] elsif Seahorse::Model::Shapes::Structure === member_shape && shape.required.include?(member_name) then {} else nil end end
def stub(shape, value)
def stub(shape, value) case shape when Seahorse::Model::Shapes::Structure then stub_structure(shape, value) when Seahorse::Model::Shapes::List then stub_list(shape, value || []) when Seahorse::Model::Shapes::Map then stub_map(shape, value || {}) else stub_scalar(shape, value) end end
def stub_list(shape, array)
def stub_list(shape, array) stubs = [] array.each do |value| stubs << stub(shape.member, value) end stubs end
def stub_map(shape, value)
def stub_map(shape, value) stubs = {} value.each do |key, value| stubs[key] = stub(shape.value, value) end stubs end
def stub_scalar(shape, value)
def stub_scalar(shape, value) if value.nil? case shape when Seahorse::Model::Shapes::String then shape.name when Seahorse::Model::Shapes::Integer then 0 when Seahorse::Model::Shapes::Float then 0.0 when Seahorse::Model::Shapes::Boolean then false when Seahorse::Model::Shapes::Timestamp then Time.now else nil end else value end end
def stub_structure(shape, hash)
def stub_structure(shape, hash) if hash structure_obj(shape, hash) else nil end end
def validate_data(data)
def validate_data(data) args = [@shape, { validate_required:false }] Seahorse::Client::ParamValidator.new(*args).validate!(data) end