class Payload::UndefinedDefinition

Returns from {DefinitionList} when attempting to find an undefined definition.

@api private

Attributes

name[R]

Public Class Methods

new(name, decorators = DecoratorChain.new) click to toggle source
# File lib/payload/undefined_definition.rb, line 10
def initialize(name, decorators = DecoratorChain.new)
  @name = name
  @decorators = decorators
end

Public Instance Methods

==(other) click to toggle source
# File lib/payload/undefined_definition.rb, line 15
def ==(other)
  other.is_a?(UndefinedDefinition) && name == other.name
end
decorate(block) click to toggle source
# File lib/payload/undefined_definition.rb, line 23
def decorate(block)
  self.class.new(@name, @decorators.add(block))
end
resolve(container) click to toggle source
# File lib/payload/undefined_definition.rb, line 19
def resolve(container)
  raise UndefinedDependencyError, "No definition for dependency: #{name}"
end
set(replacement) click to toggle source
# File lib/payload/undefined_definition.rb, line 27
def set(replacement)
  @decorators.inject(replacement) do |definition, decorator|
    definition.decorate(decorator)
  end
end