Class: Hashira::Analysis::Cycles

Inherits:
Object
  • Object
show all
Defined in:
lib/hashira/analysis/cycles.rb

Instance Method Summary collapse

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

Returns:

  • (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) }