# File lib/aws-sdk-core/xml/parser/stack.rb, line 6 def initialize(ref, result = nil) @ref = ref @frame = self @result = result end
# File lib/aws-sdk-core/xml/parser/stack.rb, line 20 def attr(name, value) if name.to_s == 'encoding' && value.to_s == 'base64' @frame = BlobFrame.new(@frame.parent, @frame.ref) else start_element(name) text(value) end_element(name) end end
# File lib/aws-sdk-core/xml/parser/stack.rb, line 47 def child_frame(name) Frame.new(self, @ref, @result) end
# File lib/aws-sdk-core/xml/parser/stack.rb, line 51 def consume_child_frame(frame) @result = frame.result end
# File lib/aws-sdk-core/xml/parser/stack.rb, line 34 def end_element(*args) @frame.parent.consume_child_frame(@frame) if @frame.parent.is_a?(FlatListFrame) @frame = @frame.parent @frame.parent.consume_child_frame(@frame) end @frame = @frame.parent end
# File lib/aws-sdk-core/xml/parser/stack.rb, line 43 def error(msg, line = nil, column = nil) raise ParsingError.new(msg, line, column) end
# File lib/aws-sdk-core/xml/parser/stack.rb, line 16 def start_element(name) @frame = @frame.child_frame(name.to_s) end
# File lib/aws-sdk-core/xml/parser/stack.rb, line 30 def text(value) @frame.set_text(value) end