class SmartCore::Container::DefinitionDSL::Commands::Definition::Namespace

@api private @since 0.7.0

Attributes

dependencies_definition[R]

@return [Proc]

@api private @since 0.7.0

namespace_name[R]

@return [String]

@api private @since 0.7.0

Public Class Methods

new(namespace_name, dependencies_definition) click to toggle source

@param namespace_name [String, Symbol] @param dependencies_definition [Proc] @return [void]

@api private @since 0.7.0

# File lib/smart_core/container/definition_dsl/commands/definition/namespace.rb, line 19
def initialize(namespace_name, dependencies_definition)
  SmartCore::Container::KeyGuard.indifferently_accessable_key(namespace_name).tap do |name|
    @namespace_name = name
    @dependencies_definition = dependencies_definition
  end
end

Public Instance Methods

call(registry) click to toggle source

@param registry [SmartCore::Container::Registry] @return [void]

@api private @since 0.7.0

# File lib/smart_core/container/definition_dsl/commands/definition/namespace.rb, line 31
def call(registry)
  registry.register_namespace(namespace_name, &dependencies_definition)
end
dup() click to toggle source

@return [SmartCore::Container::DefinitionDSL::Commands::Definition::Namespace]

@api private @since 0.7.0

# File lib/smart_core/container/definition_dsl/commands/definition/namespace.rb, line 39
def dup
  self.class.new(namespace_name, dependencies_definition)
end