module SmartCore::Container::DefinitionDSL::ClassMethods
@api private @since 0.7.0
Public Instance Methods
compose(container_klass)
click to toggle source
@param container_klass [Class<SmartCore::Container>] @return [void]
@api public @since 0.7.0
# File lib/smart_core/container/definition_dsl.rb, line 93 def compose(container_klass) @__container_definition_lock__.thread_safe do __container_definition_commands__ << Commands::Definition::Compose.new( container_klass ) __container_instantiation_commands__ << Commands::Instantiation::Compose.new( container_klass ) end end
freeze_state!()
click to toggle source
@return [void]
@api public @since 0.7.0
# File lib/smart_core/container/definition_dsl.rb, line 109 def freeze_state! @__container_definition_lock__.thread_safe do __container_instantiation_commands__ << Commands::Instantiation::FreezeState.new end end
namespace(namespace_name, &dependencies_definition)
click to toggle source
@param namespace_name [String, Symbol] @param dependencies_definition [Block] @return [void]
@api public @since 0.7.0
# File lib/smart_core/container/definition_dsl.rb, line 62 def namespace(namespace_name, &dependencies_definition) @__container_definition_lock__.thread_safe do DependencyCompatability::Definition.prevent_dependency_overlap!(self, namespace_name) __container_definition_commands__ << Commands::Definition::Namespace.new( namespace_name, dependencies_definition ) end end
register(dependency_name, &dependency_definition)
click to toggle source
@param dependency_name [String, Symbol] @param dependency_definition [Block] @return [void]
@api public @since 0.7.0
# File lib/smart_core/container/definition_dsl.rb, line 78 def register(dependency_name, &dependency_definition) @__container_definition_lock__.thread_safe do DependencyCompatability::Definition.prevent_namespace_overlap!(self, dependency_name) __container_definition_commands__ << Commands::Definition::Register.new( dependency_name, dependency_definition ) end end