Sha256: 81513be4764de33805f3762a59a24f7d258b3819ea727c24ae90a7b64c29692f
Contents?: true
Size: 779 Bytes
Versions: 6
Compression:
Stored size: 779 Bytes
Contents
require 'dry/auto_inject/strategies' module Dry module AutoInject class Injector < BasicObject # @api private attr_reader :container # @api private attr_reader :strategy # @api private attr_reader :builder # @api private def initialize(container, strategy, builder:) @container = container @strategy = strategy @builder = builder end def [](*dependency_names) strategy.new(container, *dependency_names) end def respond_to?(name, include_private = false) Injector.instance_methods.include?(name) || builder.respond_to?(name) end private def method_missing(name, *args, &block) builder.__send__(name) end end end end
Version data entries
6 entries across 6 versions & 1 rubygems