class Dry::AutoInject::Builder

Attributes

container[R]

@api private

strategies[R]

@api private

Public Class Methods

new(container, options = {}) click to toggle source
# File lib/dry/auto_inject/builder.rb, line 15
def initialize(container, options = {})
  @container = container
  @strategies = options.fetch(:strategies) { Strategies }
end

Public Instance Methods

[](*dependency_names) click to toggle source

@api public

# File lib/dry/auto_inject/builder.rb, line 21
def [](*dependency_names)
  default[*dependency_names]
end
respond_to?(name, include_private = false) click to toggle source
# File lib/dry/auto_inject/builder.rb, line 25
def respond_to?(name, include_private = false)
  Builder.public_instance_methods.include?(name) || strategies.key?(name)
end

Private Instance Methods

method_missing(name, *args, &block) click to toggle source
Calls superclass method
# File lib/dry/auto_inject/builder.rb, line 31
def method_missing(name, *args, &block)
  if strategies.key?(name)
    Injector.new(container, strategies[name], builder: self)
  else
    super
  end
end