class DependencyInspector::RubyGemfile::Resolver

Public Class Methods

new(index, source_requirements) click to toggle source
# File lib/dependency_inspector/ruby_gemfile/resolver.rb, line 10
def initialize(index, source_requirements)
  @initial_reqs         = []
  @index                = index
  @missing_gems         = Hash.new(0)
  @source_requirements  = source_requirements
  @started_at           = Time.now
end
resolve(index, dependencies, source_requirements) click to toggle source
# File lib/dependency_inspector/ruby_gemfile/resolver.rb, line 4
def self.resolve(index, dependencies, source_requirements)
  reqs = dependencies.map(&:name)
  resolver = new(index, source_requirements)
  resolver.start(reqs)
end

Public Instance Methods

resolve(reqs, _activated, _current_traversal) click to toggle source
# File lib/dependency_inspector/ruby_gemfile/resolver.rb, line 24
def resolve(reqs, _activated, _current_traversal)
  results = []
  reqs.each do |r|
    result = search(r)
    next if result.empty?
    # TODO: select correct version instead of 'result.first'
    results.push(result.first)
  end
  results
end
start(reqs, current_traversal = false) click to toggle source
# File lib/dependency_inspector/ruby_gemfile/resolver.rb, line 18
def start(reqs, current_traversal = false)
  activated = {}
  @initial_reqs = reqs.dup unless current_traversal
  resolve(reqs, activated, current_traversal)
end