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