class SmartCore::Container::DefinitionDSL::Commands::Definition::Register

@api private @since 0.1.0

Attributes

dependency_definition[R]

@return [Proc]

@api private @since 0.1.0

dependency_name[R]

@return [String]

@api private @since 0.1.0

memoize[R]

@return [Boolean]

@api private @since 0.2.0

Public Class Methods

new(dependency_name, dependency_definition, memoize) click to toggle source

@param dependency_name [String, Symbol] @param dependency_definition [Proc] @param memoize [Boolean] @return [void]

@api private @since 0.1.0 @version 0.2.0

# File lib/smart_core/container/definition_dsl/commands/definition/register.rb, line 24
def initialize(dependency_name, dependency_definition, memoize)
  SmartCore::Container::KeyGuard.indifferently_accessable_key(dependency_name).tap do |name|
    @dependency_name = name
    @dependency_definition = dependency_definition
    @memoize = memoize
  end
end

Public Instance Methods

call(registry) click to toggle source

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

@api private @since 0.1.0 @version 0.2.0

# File lib/smart_core/container/definition_dsl/commands/definition/register.rb, line 38
def call(registry)
  registry.register_dependency(dependency_name, memoize: memoize, &dependency_definition)
end
dup() click to toggle source

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

@api private @since 0.1.0 @version 0.2.0

# File lib/smart_core/container/definition_dsl/commands/definition/register.rb, line 47
def dup
  self.class.new(dependency_name, dependency_definition, memoize)
end