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
==(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: <<