W3cubDocs

/Ruby 2.7

module Bundler::Molinillo::Delegates::SpecificationProvider

Delegates all {Bundler::Molinillo::SpecificationProvider} methods to a `#specification_provider` property.

Public Instance Methods

allow_missing?(dependency) Show source
# File lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb, line 58
def allow_missing?(dependency)
  with_no_such_dependency_error_handling do
    specification_provider.allow_missing?(dependency)
  end
end

(see Bundler::Molinillo::SpecificationProvider#allow_missing?)

dependencies_for(specification) Show source
# File lib/bundler/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

(see Bundler::Molinillo::SpecificationProvider#dependencies_for)

name_for(dependency) Show source
# File lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb, line 30
def name_for(dependency)
  with_no_such_dependency_error_handling do
    specification_provider.name_for(dependency)
  end
end

(see Bundler::Molinillo::SpecificationProvider#name_for)

name_for_explicit_dependency_source() Show source
# File lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb, line 37
def name_for_explicit_dependency_source
  with_no_such_dependency_error_handling do
    specification_provider.name_for_explicit_dependency_source
  end
end

(see Bundler::Molinillo::SpecificationProvider#name_for_explicit_dependency_source)

name_for_locking_dependency_source() Show source
# File lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb, line 44
def name_for_locking_dependency_source
  with_no_such_dependency_error_handling do
    specification_provider.name_for_locking_dependency_source
  end
end

(see Bundler::Molinillo::SpecificationProvider#name_for_locking_dependency_source)

requirement_satisfied_by?(requirement, activated, spec) Show source
# File lib/bundler/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

(see Bundler::Molinillo::SpecificationProvider#requirement_satisfied_by?)

search_for(dependency) Show source
# File lib/bundler/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

(see Bundler::Molinillo::SpecificationProvider#search_for)

sort_dependencies(dependencies, activated, conflicts) Show source
# File lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb, line 51
def sort_dependencies(dependencies, activated, conflicts)
  with_no_such_dependency_error_handling do
    specification_provider.sort_dependencies(dependencies, activated, conflicts)
  end
end

(see Bundler::Molinillo::SpecificationProvider#sort_dependencies)

Private Instance Methods

with_no_such_dependency_error_handling() { || ... } Show source
# File lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb, line 69
def with_no_such_dependency_error_handling
  yield
rescue NoSuchDependencyError => error
  if state
    vertex = activated.vertex_named(name_for(error.dependency))
    error.required_by += vertex.incoming_edges.map { |e| e.origin.name }
    error.required_by << name_for_explicit_dependency_source unless vertex.explicit_requirements.empty?
  end
  raise
end

Ensures any raised {NoSuchDependencyError} has its {NoSuchDependencyError#required_by} set. @yield

Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.