Parent

Included Modules

Files

Class Index [+]

Quicksearch

XSD::NamedElements

Constants

Empty

Public Class Methods

new() click to toggle source
    # File lib/xsd/namedelements.rb, line 15
15:   def initialize
16:     @elements = []
17:     @cache = {}
18:   end

Public Instance Methods

+(rhs) click to toggle source
    # File lib/xsd/namedelements.rb, line 73
73:   def +(rhs)
74:     o = NamedElements.new
75:     o.elements = @elements + rhs.elements
76:     @cache.clear
77:     o
78:   end
<<(rhs) click to toggle source
    # File lib/xsd/namedelements.rb, line 62
62:   def <<(rhs)
63:     @elements << rhs
64:     self
65:   end
[](idx) click to toggle source
    # 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
concat(rhs) click to toggle source
    # File lib/xsd/namedelements.rb, line 80
80:   def concat(rhs)
81:     @elements.concat(rhs.elements)
82:     @cache.clear
83:     self
84:   end
delete(rhs) click to toggle source
    # File lib/xsd/namedelements.rb, line 67
67:   def delete(rhs)
68:     rv = @elements.delete(rhs)
69:     @cache.clear
70:     rv
71:   end
dup() click to toggle source
    # File lib/xsd/namedelements.rb, line 20
20:   def dup
21:     o = NamedElements.new
22:     o.elements = @elements.dup
23:     o
24:   end
each() click to toggle source
    # File lib/xsd/namedelements.rb, line 56
56:   def each
57:     @elements.each do |element|
58:       yield(element)
59:     end
60:   end
empty?() click to toggle source
    # File lib/xsd/namedelements.rb, line 32
32:   def empty?
33:     size == 0
34:   end
find_all() click to toggle source
     # File lib/xsd/namedelements.rb, line 97
 97:   def find_all
 98:     o = NamedElements.new
 99:     each do |ele|
100:       o << ele if yield(ele)
101:     end
102:     o
103:   end
find_name(name) click to toggle source
    # File lib/xsd/namedelements.rb, line 48
48:   def find_name(name)
49:     @elements.find { |item| item.name.name == name }
50:   end
freeze() click to toggle source
    # File lib/xsd/namedelements.rb, line 26
26:   def freeze
27:     super
28:     @elements.freeze
29:     self
30:   end
keys() click to toggle source
    # File lib/xsd/namedelements.rb, line 52
52:   def keys
53:     collect { |element| element.name }
54:   end
size() click to toggle source
    # File lib/xsd/namedelements.rb, line 36
36:   def size
37:     @elements.size
38:   end
uniq() click to toggle source
    # File lib/xsd/namedelements.rb, line 86
86:   def uniq
87:     o = NamedElements.new
88:     o.elements = uniq_elements
89:     o
90:   end
uniq!() click to toggle source
    # File lib/xsd/namedelements.rb, line 92
92:   def uniq!
93:     @elements.replace(uniq_elements)
94:     @cache.clear
95:   end

Protected Instance Methods

elements() click to toggle source
     # File lib/xsd/namedelements.rb, line 113
113:   def elements
114:     @elements
115:   end
elements=(rhs) click to toggle source
     # File lib/xsd/namedelements.rb, line 109
109:   def elements=(rhs)
110:     @elements = rhs
111:   end

Private Instance Methods

uniq_elements() click to toggle source
     # File lib/xsd/namedelements.rb, line 119
119:   def uniq_elements
120:     dict = {}
121:     elements = []
122:     @elements.each do |ele|
123:       unless dict.key?(ele.name)
124:         dict[ele.name] = ele
125:         elements << ele
126:       end
127:     end
128:     elements
129:   end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.