Class: Graph

Inherits:
Object
  • Object
show all
Defined in:
lib/developer_cliques/graph.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(edges: {}) ⇒ Graph

Returns a new instance of Graph.



6
7
8
9
# File 'lib/developer_cliques/graph.rb', line 6

def initialize edges: {}
  @edges = edges
  @nodes = edges.keys
end

Instance Attribute Details

#edgesObject (readonly)

Returns the value of attribute edges.



4
5
6
# File 'lib/developer_cliques/graph.rb', line 4

def edges
  @edges
end

#nodesObject (readonly)

Returns the value of attribute nodes.



4
5
6
# File 'lib/developer_cliques/graph.rb', line 4

def nodes
  @nodes
end

Instance Method Details

#max_cliquesObject



15
16
17
18
19
# File 'lib/developer_cliques/graph.rb', line 15

def max_cliques
  @cliques ||= []
  bron_kerbosch(possibles: nodes) if @cliques.empty?
  @cliques
end

#neighbours(node:) ⇒ Object



11
12
13
# File 'lib/developer_cliques/graph.rb', line 11

def neighbours node:
  @edges[node] || []
end