class MiniGraph::DSL::SearchContext
Constants
- ALGORITHM_IMPL
Public Class Methods
evaluate(graph, start_at, algorithm:)
click to toggle source
# File lib/mini_graph/dsl/search_context.rb, line 13 def self.evaluate(graph, start_at, algorithm:) algorithm_impl = ALGORITHM_IMPL[algorithm] unless algorithm_impl raise MiniGraph::Core::Error::InvalidSearchAlgorithmError, "An unknown algorithm was provided to SearchContext: #{algorithm}" end vertex_index = graph.vertices.map.with_index { |v, i| [v, i] }.to_h start_index = start_at.nil? ? 0 : vertex_index[start_at] algorithm_impl.new(graph, start_index) end