module SmartCore::Container::DefinitionDSL::ClassInheritance

@api private @since 0.7.0

Public Instance Methods

inherited(child_klass) click to toggle source

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

@api private @since 0.7.0

Calls superclass method
# File lib/smart_core/container/definition_dsl.rb, line 35
def inherited(child_klass)
  child_klass.instance_variable_set(:@__container_definition_commands__, CommandSet.new)
  child_klass.instance_variable_set(:@__container_instantiation_commands__, CommandSet.new)
  child_klass.instance_variable_set(:@__container_definition_lock__, ArbitaryLock.new)

  child_klass.__container_definition_commands__.concat(
    __container_definition_commands__
  )

  child_klass.__container_instantiation_commands__.concat(
    __container_instantiation_commands__
  )

  child_klass.singleton_class.prepend(ClassInheritance)
  super
end