class Aws::Xml::Parser::Frame

Attributes

parent[R]
ref[R]
result[R]

Public Class Methods

new(path, parent, ref, result = nil) click to toggle source
Calls superclass method
# File lib/aws-sdk-core/xml/parser/frame.rb, line 15
def new(path, parent, ref, result = nil)
  if self == Frame
    frame = frame_class(ref).allocate
    frame.send(:initialize, path, parent, ref, result)
    frame
  else
    super
  end
end
new(path, parent, ref, result) click to toggle source
# File lib/aws-sdk-core/xml/parser/frame.rb, line 40
def initialize(path, parent, ref, result)
  @path = path
  @parent = parent
  @ref = ref
  @result = result
  @text = []
end

Private Class Methods

frame_class(ref) click to toggle source
# File lib/aws-sdk-core/xml/parser/frame.rb, line 27
def frame_class(ref)
  klass = FRAME_CLASSES[ref.shape.class]
  if ListFrame == klass && (ref.shape.flattened || ref["flattened"])
    FlatListFrame
  elsif MapFrame == klass && (ref.shape.flattened || ref["flattened"])
    MapEntryFrame
  else
    klass
  end
end

Public Instance Methods

child_frame(xml_name) click to toggle source
# File lib/aws-sdk-core/xml/parser/frame.rb, line 58
def child_frame(xml_name)
  NullFrame.new(xml_name, self)
end
consume_child_frame(child) click to toggle source
# File lib/aws-sdk-core/xml/parser/frame.rb, line 62
def consume_child_frame(child); end
path() click to toggle source

@api private

# File lib/aws-sdk-core/xml/parser/frame.rb, line 65
def path
  if Stack === parent
    [@path]
  else
    parent.path + [@path]
  end
end
set_text(value) click to toggle source
# File lib/aws-sdk-core/xml/parser/frame.rb, line 54
def set_text(value)
  @text << value
end
yield_unhandled_value(path, value) click to toggle source

@api private

# File lib/aws-sdk-core/xml/parser/frame.rb, line 74
def yield_unhandled_value(path, value)
  parent.yield_unhandled_value(path, value)
end