Class: Dagger::Graph
- Inherits:
-
Tangle::DAG
- Object
- Tangle::DAG
- Dagger::Graph
- Defined in:
- lib/dagger/graph.rb
Overview
Specialization of Tangle::DAG
Class Method Summary collapse
Instance Method Summary collapse
- #cached? ⇒ Boolean
-
#initialize(mixins: [Tangle::Mixin::Directory]) ⇒ Graph
constructor
A new instance of Graph.
- #select(&_filter) ⇒ Object
Constructor Details
#initialize(mixins: [Tangle::Mixin::Directory]) ⇒ Graph
Returns a new instance of Graph.
19 20 21 22 23 24 25 26 |
# File 'lib/dagger/graph.rb', line 19 def initialize(mixins: [Tangle::Mixin::Directory], **) @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, cached: false) ⇒ Object
10 11 12 13 14 15 16 17 |
# File 'lib/dagger/graph.rb', line 10 def self.load(dir, cached: false) @cached = cached = { root: File.realpath(dir), loaders: %i[symlink_loader directory_loader keytree_loader] } new(directory: , currify: true) end |
Instance Method Details
#cached? ⇒ Boolean
32 33 34 |
# File 'lib/dagger/graph.rb', line 32 def cached? !(!@cached) end |
#select(&_filter) ⇒ Object
28 29 30 |
# File 'lib/dagger/graph.rb', line 28 def select(&_filter) vertices.select { |vertex| yield(self, vertex) } end |