Sha256: 35d24610abad819b1e8b6591a346a950d9039d54e043fec273bf9d9d1b21bda1
Contents?: true
Size: 1.2 KB
Versions: 3
Compression:
Stored size: 1.2 KB
Contents
# frozen_string_literal: true require "dry/system/constants" require "dry/system/plugins/dependency_graph/strategies" module Dry module System module Plugins # @api public module DependencyGraph # @api private def self.extended(system) super system.use(:notifications) system.before(:configure) do setting :ignored_dependencies, default: [] end system.after(:configure) do self[:notifications].register_event(:resolved_dependency) self[:notifications].register_event(:registered_dependency) strategies(Strategies) end end # @api private def self.dependencies {'dry-events': "dry/events/publisher"} end # @api private def register(key, contents = nil, options = {}, &block) super dependency_key = key.to_s unless config.ignored_dependencies.include?(dependency_key) self[:notifications].instrument( :registered_dependency, key: dependency_key, class: self[dependency_key].class ) end self end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dry-system-0.22.0 | lib/dry/system/plugins/dependency_graph.rb |
dry-system-0.21.0 | lib/dry/system/plugins/dependency_graph.rb |
dry-system-0.20.0 | lib/dry/system/plugins/dependency_graph.rb |