Class: Hashira::Analysis::Cycles
- Inherits:
-
Object
- Object
- Hashira::Analysis::Cycles
- Defined in:
- lib/hashira/analysis/cycles.rb
Instance Method Summary collapse
-
#initialize(dependencies, graph) ⇒ Cycles
constructor
A new instance of Cycles.
- #path(package) ⇒ Object
- #through?(package) ⇒ Boolean
- #weakest(trail) ⇒ Object
Constructor Details
#initialize(dependencies, graph) ⇒ Cycles
Returns a new instance of Cycles.
4 5 6 7 |
# File 'lib/hashira/analysis/cycles.rb', line 4 def initialize(dependencies, graph) @dependencies = dependencies @graph = graph end |
Instance Method Details
#path(package) ⇒ Object
11 |
# File 'lib/hashira/analysis/cycles.rb', line 11 def path(package) = Hashira::Analysis::CycleSearch.new(@dependencies, package).path |
#through?(package) ⇒ Boolean
9 |
# File 'lib/hashira/analysis/cycles.rb', line 9 def through?(package) = !!path(package) |
#weakest(trail) ⇒ Object
13 |
# File 'lib/hashira/analysis/cycles.rb', line 13 def weakest(trail) = trail.each_cons(2).min_by { |from, to| @graph.weight(from, to) } |