Exception: Molinillo::NoSuchDependencyError

Inherits:
ResolverError
  • Object
show all
Defined in:
lib/molinillo/errors.rb

Overview

An error caused by searching for a dependency that is completely unknown, i.e. has no versions available whatsoever.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dependency, required_by = []) ⇒ NoSuchDependencyError

Initializes a new error with the given missing dependency.

Parameters:



19
20
21
22
23
# File 'lib/molinillo/errors.rb', line 19

def initialize(dependency, required_by = [])
  @dependency = dependency
  @required_by = required_by.uniq
  super()
end

Instance Attribute Details

#dependencyObject

Returns the dependency that could not be found.

Returns:

  • (Object)

    the dependency that could not be found



11
12
13
# File 'lib/molinillo/errors.rb', line 11

def dependency
  @dependency
end

#required_byArray<Object>

Returns the specifications that depended upon #dependency.

Returns:

  • (Array<Object>)

    the specifications that depended upon #dependency



14
15
16
# File 'lib/molinillo/errors.rb', line 14

def required_by
  @required_by
end

Instance Method Details

#messageObject

The error message for the missing dependency, including the specifications that had this dependency.



27
28
29
30
31
32
# File 'lib/molinillo/errors.rb', line 27

def message
  sources = required_by.map { |r| "`#{r}`" }.join(' and ')
  message = "Unable to find a specification for `#{dependency}`"
  message += " depended upon by #{sources}" unless sources.empty?
  message
end