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