Class: Dagger::Graph

Inherits:
Tangle::DAG
  • Object
show all
Defined in:
lib/dagger/graph.rb

Overview

Specialization of Tangle::DAG

Constant Summary collapse

DEFAULT_MIXINS =
[Tangle::Mixin::Directory].freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeGraph



18
19
20
21
22
23
24
25
# File 'lib/dagger/graph.rb', line 18

def initialize(*)
  @deferred_edges = []
  super
  @deferred_edges.each do |args|
    tail, head, *kwargs = args
    add_edge(*[tail, head].map { |name| fetch(name) }, *kwargs)
  end
end

Class Method Details

.load(dir) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/dagger/graph.rb', line 10

def self.load(dir)
  dir_options = {
    root: File.realpath(dir),
    loaders: i[symlink_loader directory_loader keytree_loader]
  }
  new(directory: dir_options)
end

Instance Method Details

#select(&_filter) ⇒ Object



27
28
29
# File 'lib/dagger/graph.rb', line 27

def select(&_filter)
  vertices.select { |vertex| yield(self, vertex) }
end