Method: Megam::NodeCollection#lookup

Defined in:
lib/megam/core/node_collection.rb

#lookup(node) ⇒ Object



89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/megam/core/node_collection.rb', line 89

def lookup(node)
  lookup_by = nil
  if node.kind_of?(Megam::Node)
  lookup_by = node.node_name
  elsif node.kind_of?(String)
  lookup_by = node
  else
    raise ArgumentError, "Must pass a Megam::Node or String to lookup"
  end
  res = @nodes_by_name[lookup_by]
  unless res
    raise ArgumentError, "Cannot find a node matching #{lookup_by} (did you define it first?)"
  end
  @nodes[res]
end