module SmartCore::Container::DefinitionDSL

@api private @since 0.7.0

Public Class Methods

included(base_klass) click to toggle source

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

@api private @since 0.7.0

# File lib/smart_core/container/definition_dsl.rb, line 16
def included(base_klass)
  base_klass.instance_variable_set(:@__container_definition_commands__, CommandSet.new)
  base_klass.instance_variable_set(:@__container_instantiation_commands__, CommandSet.new)
  base_klass.instance_variable_set(:@__container_definition_lock__, ArbitaryLock.new)
  base_klass.singleton_class.send(:attr_reader, :__container_definition_commands__)
  base_klass.singleton_class.send(:attr_reader, :__container_instantiation_commands__)
  base_klass.extend(ClassMethods)
  base_klass.singleton_class.prepend(ClassInheritance)
end