Module: Gem::Molinillo::Delegates::SpecificationProvider
- Included in:
- Resolver::Resolution, VersionConflict
- Defined in:
- lib/rubygems/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb
Overview
Delegates all SpecificationProvider methods to a ‘#specification_provider` property.
Instance Method Summary collapse
- 
  
    
      #allow_missing?(dependency)  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Returns whether this dependency, which has no possible matching specifications, can safely be ignored. 
- 
  
    
      #dependencies_equal?(dependencies, other_dependencies)  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Determines whether two arrays of dependencies are equal, and thus can be grouped. 
- 
  
    
      #dependencies_for(specification)  ⇒ Array<Object> 
    
    
  
  
  
  
  
  
  
  
  
    Returns the dependencies of ‘specification`. 
- 
  
    
      #name_for(dependency)  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    Returns the name for the given ‘dependency`. 
- 
  
    
      #name_for_explicit_dependency_source  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    The name of the source of explicit dependencies, i.e. 
- 
  
    
      #name_for_locking_dependency_source  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    The name of the source of ‘locked’ dependencies, i.e. 
- 
  
    
      #requirement_satisfied_by?(requirement, activated, spec)  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Determines whether the given ‘requirement` is satisfied by the given `spec`, in the context of the current `activated` dependency graph. 
- 
  
    
      #search_for(dependency)  ⇒ Array<Object> 
    
    
  
  
  
  
  
  
  
  
  
    Search for the specifications that match the given dependency. 
- 
  
    
      #sort_dependencies(dependencies, activated, conflicts)  ⇒ Array<Object> 
    
    
  
  
  
  
  
  
  
  
  
    Sort dependencies so that the ones that are easiest to resolve are first. 
Instance Method Details
#allow_missing?(dependency) ⇒ Boolean
Returns whether this dependency, which has no possible matching specifications, can safely be ignored.
| 65 66 67 68 69 | # File 'lib/rubygems/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb', line 65 def allow_missing?(dependency) with_no_such_dependency_error_handling do specification_provider.allow_missing?(dependency) end end | 
#dependencies_equal?(dependencies, other_dependencies) ⇒ Boolean
Determines whether two arrays of dependencies are equal, and thus can be grouped.
| 30 31 32 33 34 | # File 'lib/rubygems/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb', line 30 def dependencies_equal?(dependencies, other_dependencies) with_no_such_dependency_error_handling do specification_provider.dependencies_equal?(dependencies, other_dependencies) end end | 
#dependencies_for(specification) ⇒ Array<Object>
This method should be ‘pure’, i.e. the return value should depend only on the ‘specification` parameter.
Returns the dependencies of ‘specification`.
| 16 17 18 19 20 | # File 'lib/rubygems/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb', line 16 def dependencies_for(specification) with_no_such_dependency_error_handling do specification_provider.dependencies_for(specification) end end | 
#name_for(dependency) ⇒ String
This method should be ‘pure’, i.e. the return value should depend only on the ‘dependency` parameter.
Returns the name for the given ‘dependency`.
| 37 38 39 40 41 | # File 'lib/rubygems/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb', line 37 def name_for(dependency) with_no_such_dependency_error_handling do specification_provider.name_for(dependency) end end | 
#name_for_explicit_dependency_source ⇒ String
Returns the name of the source of explicit dependencies, i.e. those passed to Resolver#resolve directly.
| 44 45 46 47 48 | # File 'lib/rubygems/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb', line 44 def name_for_explicit_dependency_source with_no_such_dependency_error_handling do specification_provider.name_for_explicit_dependency_source end end | 
#name_for_locking_dependency_source ⇒ String
Returns the name of the source of ‘locked’ dependencies, i.e. those passed to Resolver#resolve directly as the ‘base`.
| 51 52 53 54 55 | # File 'lib/rubygems/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb', line 51 def name_for_locking_dependency_source with_no_such_dependency_error_handling do specification_provider.name_for_locking_dependency_source end end | 
#requirement_satisfied_by?(requirement, activated, spec) ⇒ Boolean
Determines whether the given ‘requirement` is satisfied by the given `spec`, in the context of the current `activated` dependency graph.
| 23 24 25 26 27 | # File 'lib/rubygems/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb', line 23 def requirement_satisfied_by?(requirement, activated, spec) with_no_such_dependency_error_handling do specification_provider.requirement_satisfied_by?(requirement, activated, spec) end end | 
#search_for(dependency) ⇒ Array<Object>
This method should be ‘pure’, i.e. the return value should depend only on the ‘dependency` parameter.
Search for the specifications that match the given dependency. The specifications in the returned array will be considered in reverse order, so the latest version ought to be last.
| 9 10 11 12 13 | # File 'lib/rubygems/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb', line 9 def search_for(dependency) with_no_such_dependency_error_handling do specification_provider.search_for(dependency) end end | 
#sort_dependencies(dependencies, activated, conflicts) ⇒ Array<Object>
Sort dependencies so that the ones that are easiest to resolve are first. Easiest to resolve is (usually) defined by:
1) Is this dependency already activated?
2) How relaxed are the requirements?
3) Are there any conflicts for this dependency?
4) How many possibilities are there to satisfy this dependency?
| 58 59 60 61 62 | # File 'lib/rubygems/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb', line 58 def sort_dependencies(dependencies, activated, conflicts) with_no_such_dependency_error_handling do specification_provider.sort_dependencies(dependencies, activated, conflicts) end end |