Sha256: d704d4bdc4efc4ad1fd4ad0d6212433b53e8224825c3debe1185045a412788bf

Contents?: true

Size: 1.2 KB

Versions: 4

Compression:

Stored size: 1.2 KB

Contents

# frozen_string_literal: true

module SmartCore::Container::DependencyCompatability
  # @api private
  # @since 0.5.0
  class Registry < Abstract
    class << self
      # @param registry [SmartCore::Container::Regsitry]
      # @param dependency_name [String]
      # @return [Boolean]
      #
      # @api private
      # @since 0.5.0
      def potential_namespace_overlap?(registry, dependency_name)
        registry.any? do |registered_dependency|
          next unless registered_dependency.is_a?(SmartCore::Container::Namespace)
          # NOTE: registered_dependency is a namespace
          registered_dependency.external_name == dependency_name
        end
      end

      # @param registry [SmartCore::Container::Regsitry]
      # @param namespace_name [String]
      # @return [Boolean]
      #
      # @api private
      # @since 0.5.0
      def potential_dependency_overlap?(registry, namespace_name)
        registry.any? do |registered_dependency|
          next unless registered_dependency.is_a?(SmartCore::Container::Dependency)
          # NOTE: registered_dependency is a dependency/memoized dependency
          registered_dependency.external_name == namespace_name
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
smart_core-0.6.0 lib/smart_core/container/dependency_compatability/registry.rb
smart_core-0.5.2 lib/smart_core/container/dependency_compatability/registry.rb
smart_core-0.5.1 lib/smart_core/container/dependency_compatability/registry.rb
smart_core-0.5.0 lib/smart_core/container/dependency_compatability/registry.rb