Sha256: 555b3f578616055dfc3d470c115d2c53eff40161e6eabc05a995954db3371851

Contents?: true

Size: 1.59 KB

Versions: 7

Compression:

Stored size: 1.59 KB

Contents

# frozen_string_literal: true

module Dry
  module System
    module Plugins
      module DependencyGraph
        # @api private
        class Strategies
          extend Dry::Container::Mixin

          # @api private
          class Kwargs < Dry::AutoInject::Strategies::Kwargs
            private

            # @api private
            def define_initialize(klass)
              @container["notifications"].instrument(
                :resolved_dependency,
                dependency_map: dependency_map.to_h,
                target_class: klass
              )

              super(klass)
            end
          end

          # @api private
          class Args < Dry::AutoInject::Strategies::Args
            private

            # @api private
            def define_initialize(klass)
              @container["notifications"].instrument(
                :resolved_dependency,
                dependency_map: dependency_map.to_h,
                target_class: klass
              )

              super(klass)
            end
          end

          class Hash < Dry::AutoInject::Strategies::Hash
            private

            # @api private
            def define_initialize(klass)
              @container["notifications"].instrument(
                :resolved_dependency,
                dependency_map: dependency_map.to_h,
                target_class: klass
              )

              super(klass)
            end
          end

          register :kwargs, Kwargs
          register :args, Args
          register :hash, Hash
          register :default, Kwargs
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
dry-system-0.27.2 lib/dry/system/plugins/dependency_graph/strategies.rb
dry-system-0.27.1 lib/dry/system/plugins/dependency_graph/strategies.rb
dry-system-0.27.0 lib/dry/system/plugins/dependency_graph/strategies.rb
dry-system-0.26.0 lib/dry/system/plugins/dependency_graph/strategies.rb
dry-system-0.25.0 lib/dry/system/plugins/dependency_graph/strategies.rb
dry-system-0.24.0 lib/dry/system/plugins/dependency_graph/strategies.rb
dry-system-0.23.0 lib/dry/system/plugins/dependency_graph/strategies.rb