Method: Gem::Resolver#find_possible

Defined in:
lib/rubygems/resolver.rb

#find_possible(dependency) ⇒ Object

Extracts the specifications that may be able to fulfill dependency and returns those that match the local platform and all those that match.



198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
# File 'lib/rubygems/resolver.rb', line 198

def find_possible(dependency) # :nodoc:
  all = @set.find_all dependency

  if (skip_dep_gems = skip_gems[dependency.name]) && !skip_dep_gems.empty?
    matching = all.select do |api_spec|
      skip_dep_gems.any? {|s| api_spec.version == s.version }
    end

    all = matching unless matching.empty?
  end

  matching_platform = select_local_platforms all

  [matching_platform, all]
end