Class: XSD::NamedElements

Class | XSD::NamedElements
In: | xsd/namedelements.rb
Parent: | Object

### Methods

+ << [] concat delete dup each empty? find_name freeze keys new size

### Included Modules

Enumerable

### Constants

Empty | = | NamedElements.new.freeze

### Public Class methods

new()

[Source]

    # File xsd/namedelements.rb, line 15
      def initialize
        @elements = []
        @cache = {}
      end

### Public Instance methods

+(rhs)

[Source]

    # File xsd/namedelements.rb, line 71
      def +(rhs)
        o = NamedElements.new
        o.elements = @elements + rhs.elements
        o
      end

<<(rhs)

[Source]

    # File xsd/namedelements.rb, line 62
      def <<(rhs)
        @elements << rhs
        self
      end

[](idx)

[Source]

    # File xsd/namedelements.rb, line 40
      def [](idx)
        if idx.is_a?(Numeric)
          @elements[idx]
        else
          @cache[idx] ||= @elements.find { |item| item.name == idx }
        end
      end

concat(rhs)

[Source]

    # File xsd/namedelements.rb, line 77
      def concat(rhs)
        @elements.concat(rhs.elements)
        self
      end

delete(rhs)

[Source]

    # File xsd/namedelements.rb, line 67
      def delete(rhs)
        @elements.delete(rhs)
      end

dup()

[Source]

    # File xsd/namedelements.rb, line 20
      def dup
        o = NamedElements.new
        o.elements = @elements.dup
        o
      end

each() {|element| ...}

[Source]

    # File xsd/namedelements.rb, line 56
      def each
        @elements.each do |element|
          yield(element)
        end
      end

empty?()

[Source]

    # File xsd/namedelements.rb, line 32
      def empty?
        size == 0
      end

find_name(name)

[Source]

    # File xsd/namedelements.rb, line 48
      def find_name(name)
        @elements.find { |item| item.name.name == name }
      end

freeze()

[Source]

    # File xsd/namedelements.rb, line 26
      def freeze
        super
        @elements.freeze
        self
      end

keys()

[Source]

    # File xsd/namedelements.rb, line 52
      def keys
        collect { |element| element.name }
      end

size()

[Source]

    # File xsd/namedelements.rb, line 36
      def size
        @elements.size
      end

[Validate]