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
search(gem_name)
click to toggle source
# File lib/dependency_inspector/ruby_gemfile/resolver.rb, line 35 def search(gem_name) Gems.search(gem_name) 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