Class: AWS::Core::XML::RootFrame
- Defined in:
- lib/aws/core/xml/root_frame.rb
Constant Summary
Constants inherited from Frame
Frame::DATE_PUNCTUATION, Frame::EASY_FORMAT, Frame::TRANSLATE_DIGITS
Instance Attribute Summary
Attributes inherited from Frame
#element_name, #parent_frame, #root_frame, #rules
Instance Method Summary collapse
- #add_to_index(index_name, key, value) ⇒ Object
- #build_child_frame(element_name) ⇒ Object
-
#inflect(element_name) ⇒ Object
The root frame maintains a cache of inflected element names.
-
#initialize(rules) ⇒ RootFrame
constructor
A new instance of RootFrame.
- #value ⇒ Object
Methods inherited from Frame
#add_text, #close, #consume_child_frame, #data, #forced?, #ignored?, #index_keys_for, #keys_from_path, #known_child_frames, #list?, #map?, #ruby_name, #rules_for, #wrapped?
Constructor Details
#initialize(rules) ⇒ RootFrame
Returns a new instance of RootFrame.
20 21 22 23 24 25 |
# File 'lib/aws/core/xml/root_frame.rb', line 20 def initialize rules @inflected = {} @indexes = {} setup_indexes(rules) super(self, nil, 'XML', rules) end |
Instance Method Details
#add_to_index(index_name, key, value) ⇒ Object
37 38 39 40 |
# File 'lib/aws/core/xml/root_frame.rb', line 37 def add_to_index index_name, key, value @indexes[index_name] ||= {} @indexes[index_name][key] = value end |
#build_child_frame(element_name) ⇒ Object
27 28 29 |
# File 'lib/aws/core/xml/root_frame.rb', line 27 def build_child_frame element_name Frame.new(self, self, element_name, rules) end |
#inflect(element_name) ⇒ Object
The root frame maintains a cache of inflected element names.
43 44 45 |
# File 'lib/aws/core/xml/root_frame.rb', line 43 def inflect element_name @inflected[element_name] ||= Inflection.ruby_name(element_name).to_sym end |
#value ⇒ Object
31 32 33 34 35 |
# File 'lib/aws/core/xml/root_frame.rb', line 31 def value value = @data.values.find{|v| v.is_a?(Hash) } value ||= {} value.merge(@indexes) end |