class Taketo::Support::NamedNodesCollection

Attributes

nodes[R]

Public Class Methods

new(nodes = []) click to toggle source
# File lib/taketo/support/named_nodes_collection.rb, line 13
def initialize(nodes = [])
  @nodes = nodes
end

Public Instance Methods

<<(node)
Alias for: push
==(other) click to toggle source
# File lib/taketo/support/named_nodes_collection.rb, line 35
def ==(other)
  return true if other.equal?(self)
  @nodes == other.is_a?(NamedNodesCollection) ? other.nodes : other
end
[](index) click to toggle source
# File lib/taketo/support/named_nodes_collection.rb, line 23
def [](index)
  if index.is_a?(Symbol)
    node = find_by_name(index) or raise KeyError, "Element with name #{index} not found"
    return node
  end
  @nodes[index] or raise KeyError, "Element ##{index} not found"
end
find_by_name(name) click to toggle source
# File lib/taketo/support/named_nodes_collection.rb, line 31
def find_by_name(name)
  @nodes.detect { |n| n.name == name }
end
push(node) click to toggle source
# File lib/taketo/support/named_nodes_collection.rb, line 17
def push(node)
  @nodes << node unless find_by_name(node.name)
  self
end
Also aliased as: <<