module SmartCore::Container::DependencyCompatability::General

@api private @since 0.7.0

Public Instance Methods

potential_dependency_overlap?(context, namespace_name) click to toggle source

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

@api private @since 0.7.0

# File lib/smart_core/container/dependency_compatability/general.rb, line 56
def potential_dependency_overlap?(context, namespace_name)
  # :nocov:
  raise NoMethodError
  # :nocov:
end
potential_namespace_overlap?(context, dependency_name) click to toggle source

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

@api private @since 0.7.0

# File lib/smart_core/container/dependency_compatability/general.rb, line 44
def potential_namespace_overlap?(context, dependency_name)
  # :nocov:
  raise NoMethodError
  # :nocov:
end
prevent_dependency_overlap!(context, namespace_name) click to toggle source

@param context [Class<SmartCore::Container>, SmartCore::Container::Registry] @param namespace_name [String, Symbol] @return [void]

@raise [SmartCore::Container::NamespaceOverDependencyOverlapError]

@api private @since 0.7.0

# File lib/smart_core/container/dependency_compatability/general.rb, line 30
def prevent_dependency_overlap!(context, namespace_name)
  raise(
    SmartCore::Container::NamespaceOverDependencyOverlapError,
    "Trying to overlap already registered '#{namespace_name}' dependency " \
    "with '#{namespace_name}' namespace!"
  ) if potential_dependency_overlap?(context, namespace_name)
end
prevent_namespace_overlap!(context, dependency_name) click to toggle source

@param context [Class<SmartCore::Container>, SmartCore::Container::Registry] @param dependency_name [String, Symbol] @return [void]

@raise [SmartCore::Container::DependencyOverNamespaceOverlapError]

@api private @since 0.7.0

# File lib/smart_core/container/dependency_compatability/general.rb, line 14
def prevent_namespace_overlap!(context, dependency_name)
  raise(
    SmartCore::Container::DependencyOverNamespaceOverlapError,
    "Trying to overlap already registered '#{dependency_name}' namespace " \
    "with '#{dependency_name}' dependency!"
  ) if potential_namespace_overlap?(context, dependency_name)
end