Sha256: 9b739fba7a9695144a8372e83e38f27c179c3b2d38acfa23c549ee342c623a58
Contents?: true
Size: 828 Bytes
Versions: 3
Compression:
Stored size: 828 Bytes
Contents
# frozen_string_literal: true module Dry module AutoInject class Builder # @api private attr_reader :container # @api private attr_reader :strategies # This clashes with the hash strategy undef hash def initialize(container, options = {}) @container = container @strategies = options.fetch(:strategies) { Strategies } end # @api public def [](*dependency_names) default[*dependency_names] end def respond_to_missing?(name, _include_private = false) strategies.key?(name) end private def method_missing(name, *args, &block) if strategies.key?(name) Injector.new(container, strategies[name], builder: self) else super end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dry-auto_inject-1.0.1 | lib/dry/auto_inject/builder.rb |
dry-auto_inject-1.0.0 | lib/dry/auto_inject/builder.rb |
dry-auto_inject-1.0.0.rc1 | lib/dry/auto_inject/builder.rb |