class Aws::Xml::Parser::StructureFrame
def apply_default_value(name, shape)
def apply_default_value(name, shape) case shape when Seahorse::Model::Shapes::List then @result[name] = DefaultList.new when Seahorse::Model::Shapes::Map then @result[name] = {} end end
def child_frame(xml_name)
def child_frame(xml_name) if @member = @members[xml_name] Frame.new(self, @member[:shape]) else NullFrame.new(self) end end
def consume_child_frame(child)
def consume_child_frame(child) case child when MapEntryFrame @result[@member[:name]][child.key.result] = child.value.result when FlatListFrame @result[@member[:name]] << child.result when NullFrame else @result[@member[:name]] = child.result end end
def initialize(parent, shape, result = nil)
def initialize(parent, shape, result = nil) super @result ||= Structure.new(shape.member_names) @members = {} shape.members.each do |member_name, member_shape| apply_default_value(member_name, member_shape) @members[xml_name(member_shape)] = { name: member_name, shape: member_shape, } end end
def xml_name(member_shape)
def xml_name(member_shape) if member_shape.type == 'list' && member_shape.definition['flattened'] member_shape.member.location_name || member_shape.location_name else member_shape.location_name end end