module SmartCore::Container::DependencyCompatability::Definition

@api private @since 0.7.0

Public Class Methods

potential_dependency_overlap?(container_klass, namespace_name) click to toggle source

@param container_klass [Class<SmartCore::Container>] @param namespace_name [String, Symbol] @return [Boolean]

@api private @since 0.7.0

# File lib/smart_core/container/dependency_compatability/definition.rb, line 32
def potential_dependency_overlap?(container_klass, namespace_name)
  begin
    anonymous_container = Class.new(container_klass).new
    anonymous_container.namespace(namespace_name, &(proc {}))
    false
  rescue SmartCore::Container::NamespaceOverDependencyOverlapError
    true
  end
end
potential_namespace_overlap?(container_klass, dependency_name) click to toggle source

@param container_klass [Class<SmartCore::Container>] @param dependency_name [String, Symbol] @return [Boolean]

@api private @since 0.7.0

# File lib/smart_core/container/dependency_compatability/definition.rb, line 16
def potential_namespace_overlap?(container_klass, dependency_name)
  begin
    anonymous_container = Class.new(container_klass).new
    anonymous_container.register(dependency_name, &(proc {}))
    false
  rescue SmartCore::Container::DependencyOverNamespaceOverlapError
    true
  end
end