Class: Seahorse::Model::Shapes::StructureShape
- Defined in:
- lib/seahorse/model/shapes.rb
Instance Attribute Summary collapse
Attributes inherited from Shape
Instance Method Summary collapse
- #add_member(name, shape_ref) ⇒ Object
- 
  
    
      #initialize(options = {})  ⇒ StructureShape 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of StructureShape. 
- #member(name) ⇒ ShapeRef
- 
  
    
      #member?(member_name)  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Returns ‘true` if there exists a member with the given name. 
- #member_by_location_name(location_name) ⇒ Object private
- #member_names ⇒ Array<Symbol>
- #members ⇒ Enumerator<[Symbol,ShapeRef]>
Methods inherited from Shape
Constructor Details
#initialize(options = {}) ⇒ StructureShape
Returns a new instance of StructureShape.
| 170 171 172 173 174 175 | # File 'lib/seahorse/model/shapes.rb', line 170 def initialize( = {}) @members = {} @members_by_location_name = {} @required = Set.new super() end | 
Instance Attribute Details
#required ⇒ Set<Symbol>
| 178 179 180 | # File 'lib/seahorse/model/shapes.rb', line 178 def required @required end | 
Instance Method Details
#add_member(name, shape_ref) ⇒ Object
| 182 183 184 185 186 187 | # File 'lib/seahorse/model/shapes.rb', line 182 def add_member(name, shape_ref) name = name.to_sym @required << name if shape_ref.required @members_by_location_name[shape_ref.location_name] = [name, shape_ref] @members[name] = shape_ref end | 
#member(name) ⇒ ShapeRef
| 208 209 210 211 212 213 214 | # File 'lib/seahorse/model/shapes.rb', line 208 def member(name) if member?(name) @members[name.to_sym] else raise ArgumentError, "no such member #{name.inspect}" end end | 
#member?(member_name) ⇒ Boolean
Returns ‘true` if there exists a member with the given name.
| 197 198 199 | # File 'lib/seahorse/model/shapes.rb', line 197 def member?(member_name) @members.key?(member_name.to_sym) end | 
#member_by_location_name(location_name) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
| 217 218 219 | # File 'lib/seahorse/model/shapes.rb', line 217 def member_by_location_name(location_name) @members_by_location_name[location_name] end | 
#member_names ⇒ Array<Symbol>
| 190 191 192 | # File 'lib/seahorse/model/shapes.rb', line 190 def member_names @members.keys end | 
#members ⇒ Enumerator<[Symbol,ShapeRef]>
| 202 203 204 | # File 'lib/seahorse/model/shapes.rb', line 202 def members @members.to_enum end |