module SmartCore::Container::RegistryBuilder
@api private @since 0.1.0
Public Class Methods
@parma container [SmartCore::Container] @option ignored_definition_commands [Array<Class::SmartCore::Container::DefinitionDSL::Commands::Base>>] @option ignored_instantiation_commands [Array<Class::SmartCore::Container::DefinitionDSL::Commands::Base>>] @return [SmartCore::Container::Registry]
@api private @since 0.1.0
# File lib/smart_core/container/registry_builder.rb, line 15 def build(container, ignored_definition_commands: [], ignored_instantiation_commands: []) SmartCore::Container::Registry.new.tap do |registry| define(container.class, registry, ignored_commands: ignored_definition_commands) instantiate(container.class, registry, ignored_commands: ignored_instantiation_commands) end end
@param container_klass [Class<SmartCore::Container>] @param registry [SmartCore::Container::Registry] @option ignored_commands [Array<Class<SmartCore::Container::DefinitionDSL::Commands::Base>>] @return [void]
@api private @since 0.1.0
# File lib/smart_core/container/registry_builder.rb, line 29 def define(container_klass, registry, ignored_commands: []) container_klass.__container_definition_commands__.each do |command| next if ignored_commands.include?(command.class) command.call(registry) end end
@param container_klass [Class<SmartCore::Container>] @param registry [SmartCore::Container::Registry] @option ignored_commands [Array<Class<SmartCore::Container::DefinitionDSL::Commands::Base>>] @return [void]
@api private @since 0.1.0
# File lib/smart_core/container/registry_builder.rb, line 43 def instantiate(container_klass, registry, ignored_commands: []) container_klass.__container_instantiation_commands__.each do |command| next if ignored_commands.include?(command.class) command.call(registry) end end