| Class | XSD::NamedElements |
| In: |
lib/xsd/namedelements.rb
|
| Parent: | Object |
| Empty | = | NamedElements.new.freeze |
# File lib/xsd/namedelements.rb, line 15
15: def initialize
16: @elements = []
17: @cache = {}
18: end
# File lib/xsd/namedelements.rb, line 71
71: def +(rhs)
72: o = NamedElements.new
73: o.elements = @elements + rhs.elements
74: o
75: end
# File lib/xsd/namedelements.rb, line 40
40: def [](idx)
41: if idx.is_a?(Numeric)
42: @elements[idx]
43: else
44: @cache[idx] ||= @elements.find { |item| item.name == idx }
45: end
46: end
# File lib/xsd/namedelements.rb, line 77
77: def concat(rhs)
78: @elements.concat(rhs.elements)
79: self
80: end
# File lib/xsd/namedelements.rb, line 20
20: def dup
21: o = NamedElements.new
22: o.elements = @elements.dup
23: o
24: end
# File lib/xsd/namedelements.rb, line 56
56: def each
57: @elements.each do |element|
58: yield(element)
59: end
60: end
# File lib/xsd/namedelements.rb, line 48
48: def find_name(name)
49: @elements.find { |item| item.name.name == name }
50: end
# File lib/xsd/namedelements.rb, line 26
26: def freeze
27: super
28: @elements.freeze
29: self
30: end
# File lib/xsd/namedelements.rb, line 52
52: def keys
53: collect { |element| element.name }
54: end