Class: Jade::ModuleLoader::DependencyGraph

Inherits:
Data
  • Object
show all
Defined in:
lib/jade/module_loader/dependency_graph.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(nodes: {}) ⇒ DependencyGraph

Returns a new instance of DependencyGraph.



4
5
6
# File 'lib/jade/module_loader/dependency_graph.rb', line 4

def initialize(nodes: {})
  super
end

Instance Attribute Details

#nodesObject (readonly)

Returns the value of attribute nodes

Returns:

  • (Object)

    the current value of nodes



3
4
5
# File 'lib/jade/module_loader/dependency_graph.rb', line 3

def nodes
  @nodes
end

Instance Method Details

#add(node, imports) ⇒ Object



16
17
18
19
20
# File 'lib/jade/module_loader/dependency_graph.rb', line 16

def add(node, imports)
  nodes
    .merge(node => imports.to_set.to_a)
    .then { with(nodes: it) }
end

#empty?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/jade/module_loader/dependency_graph.rb', line 12

def empty?
  nodes.empty?
end

#sizeObject



8
9
10
# File 'lib/jade/module_loader/dependency_graph.rb', line 8

def size
  nodes.size
end