module SmartCore::Initializer::DSL::ClassInheritance
@api private @since 0.1.0
Public Instance Methods
inherited(child_klass)
click to toggle source
@param child_klass [Class] @return [void]
@api private @since 0.1.0 @version 0.3.2
Calls superclass method
# File lib/smart_core/initializer/dsl.rb, line 37 def inherited(child_klass) child_klass.instance_exec(__initializer_settings__) do |init_settings| instance_variable_set(:@__params__, SmartCore::Initializer::Attribute::List.new) instance_variable_set(:@__options__, SmartCore::Initializer::Attribute::List.new) instance_variable_set(:@__init_extensions__, SmartCore::Initializer::Extensions::List.new) instance_variable_set(:@__definer__, SmartCore::Initializer::Constructor::Definer.new(self)) instance_variable_set(:@__deflock__, SmartCore::Engine::Lock.new) instance_variable_set(:@__initializer_settings__, init_settings.dup) end child_klass.extend(ClassMethods) SmartCore::Initializer::DSL::Inheritance.inherit(base: self, child: child_klass) child_klass.singleton_class.prepend(ClassInheritance) super end