module SmartCore::Initializer::DSL

@api private @since 0.1.0

Public Class Methods

extended(base_klass) click to toggle source

@param base_klass [Class] @return [void]

@api private @since 0.1.0

# File lib/smart_core/initializer/dsl.rb, line 14
def extended(base_klass)
  base_klass.instance_eval do
    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__, SmartCore::Initializer::Settings.new)
  end
  base_klass.extend(ClassMethods)
  base_klass.singleton_class.prepend(ClassInheritance)
end