class UndirectedGraph
Public Instance Methods
add_edge(node_id, edge)
click to toggle source
Calls superclass method
Graph#add_edge
# File lib/honey_mushroom/undirected_graph.rb, line 18 def add_edge(node_id, edge) super @nodes[edge].edges << node_id end
add_node(value, edges=[])
click to toggle source
# File lib/honey_mushroom/undirected_graph.rb, line 5 def add_node(value, edges=[]) node = Node.new({value: value, edges: edges}) @nodes[node.id] = node edges.each { |edge| add_edge(edge, node.id) } self end
delete_edge(node_id, edge_id)
click to toggle source
Calls superclass method
Graph#delete_edge
# File lib/honey_mushroom/undirected_graph.rb, line 23 def delete_edge(node_id, edge_id) @nodes[edge_id].edges.delete(node_id) super end
delete_node(node_id)
click to toggle source
Calls superclass method
Graph#delete_node
# File lib/honey_mushroom/undirected_graph.rb, line 12 def delete_node(node_id) all_edges = @nodes[node_id].edges.dup all_edges.each { |edge| delete_edge(node_id, edge); p edge} super end