module SmartCore::Container::Mixin
@api public @since 0.7.0
Public Class Methods
included(base_klass)
click to toggle source
@param base_klass [Class] @return [void]
@api private @since 0.7.0
# File lib/smart_core/container/mixin.rb, line 12 def included(base_klass) # rubocop:disable Metrics/LineLength base_klass.instance_variable_set(:@__smart_core_container_access_lock__, SmartCore::Container::ArbitaryLock.new) base_klass.instance_variable_set(:@__smart_core_container_klass__, Class.new(SmartCore::Container)) base_klass.instance_variable_set(:@__smart_core_container__, nil) # rubocop:enable Metrics/LineLength base_klass.extend(ClassMethods) base_klass.include(InstanceMethods) base_klass.singleton_class.prepend(ClassInheritance) end