module SmartCore::Initializer::InitializationDSL
@api private @since 0.5.0
Public Class Methods
included(base_klass)
click to toggle source
@param base_klass [Class] @return [void]
@api private @since 0.5.0
# File lib/smart_core/initializer/initialization_dsl.rb, line 13 def included(base_klass) # rubocop:disable Metrics/AbcSize # rubocop:disable Metrics/LineLength base_klass.instance_variable_set(:@__initialization_extension_definer__, ExtensionDefiner.new(base_klass)) base_klass.instance_variable_set(:@__initialization_extensions__, ExtensionSet.new) base_klass.instance_variable_set(:@__attr_definer__, AttributeDefiner.new(base_klass)) base_klass.instance_variable_set(:@__params__, AttributeSet.new) base_klass.instance_variable_set(:@__options__, AttributeSet.new) # rubocop:enable Metrics/LineLength base_klass.extend(ClassMethods) base_klass.extend(DSLMethods) base_klass.singleton_class.prepend(InitializationMethods) base_klass.singleton_class.prepend(Module.new do # @param child_klass [Class] # @return [void] # # @api private # @since 0.5.0 def inherited(child_klass) # rubocop:disable Metrics/AbcSize # rubocop:disable Metrics/LineLength child_klass.instance_variable_set(:@__initialization_extension_definer__, ExtensionDefiner.new(child_klass)) child_klass.instance_variable_set(:@__initialization_extensions__, ExtensionSet.new) child_klass.instance_variable_set(:@__attr_definer__, AttributeDefiner.new(child_klass)) child_klass.instance_variable_set(:@__params__, AttributeSet.new) child_klass.instance_variable_set(:@__options__, AttributeSet.new) # rubocop:enable Metrics/LineLength child_klass.singleton_class.prepend(InitializationMethods) child_klass.__initialization_extensions__.concat(__initialization_extensions__) child_klass.__params__.concat(__params__) child_klass.__options__.concat(__options__) super(child_klass) end end) end
inherited(child_klass)
click to toggle source
@param child_klass [Class] @return [void]
@api private @since 0.5.0
Calls superclass method
# File lib/smart_core/initializer/initialization_dsl.rb, line 32 def inherited(child_klass) # rubocop:disable Metrics/AbcSize # rubocop:disable Metrics/LineLength child_klass.instance_variable_set(:@__initialization_extension_definer__, ExtensionDefiner.new(child_klass)) child_klass.instance_variable_set(:@__initialization_extensions__, ExtensionSet.new) child_klass.instance_variable_set(:@__attr_definer__, AttributeDefiner.new(child_klass)) child_klass.instance_variable_set(:@__params__, AttributeSet.new) child_klass.instance_variable_set(:@__options__, AttributeSet.new) # rubocop:enable Metrics/LineLength child_klass.singleton_class.prepend(InitializationMethods) child_klass.__initialization_extensions__.concat(__initialization_extensions__) child_klass.__params__.concat(__params__) child_klass.__options__.concat(__options__) super(child_klass) end