class SmartCore::Container::DefinitionDSL::Commands::Instantiation::Compose

@api private @since 0.1.0

Attributes

container_klass[R]

@return [Class<SmartCore::Container>]

@api private @since 0.1.0

Public Class Methods

new(container_klass) click to toggle source

@param container_klass [Class<SmartCore::Container>] @return [void]

@api private @since 0.1.0

# File lib/smart_core/container/definition_dsl/commands/instantiation/compose.rb, line 15
def initialize(container_klass)
  raise(
    SmartCore::ArgumentError,
    'Container class should be a subtype of Quantum::Container'
  ) unless container_klass < SmartCore::Container

  @container_klass = container_klass
end

Public Instance Methods

call(registry) click to toggle source

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

@api private @since 0.1.0

# File lib/smart_core/container/definition_dsl/commands/instantiation/compose.rb, line 29
def call(registry)
  SmartCore::Container::RegistryBuilder.instantiate(
    container_klass, registry, ignored_commands: [
      SmartCore::Container::DefinitionDSL::Commands::Instantiation::FreezeState
    ]
  )
end
dup() click to toggle source

@return [SmartCore::Container::DefinitionDSL::Commands::Instantiation::Compose]

@api private @since 0.1.0

# File lib/smart_core/container/definition_dsl/commands/instantiation/compose.rb, line 41
def dup
  self.class.new(container_klass)
end