class SmartCore::Initializer::Plugins::Abstract
@api private @since 0.1.0
Public Class Methods
inherited(child_klass)
click to toggle source
@param child_klass [Class] @return [void]
@api private @since 0.1.0
Calls superclass method
# File lib/smart_core/initializer/plugins/abstract.rb, line 12 def inherited(child_klass) child_klass.instance_variable_set(:@__loaded__, false) child_klass.instance_variable_set(:@__lock__, Mutex.new) super end
load!()
click to toggle source
@return [void]
@api private @since 0.1.0
# File lib/smart_core/initializer/plugins/abstract.rb, line 22 def load! __thread_safe__ do unless @__loaded__ @__loaded__ = true install! end end end
loaded?()
click to toggle source
@return [Boolean]
@api private @since 0.1.0
# File lib/smart_core/initializer/plugins/abstract.rb, line 35 def loaded? __thread_safe__ { @__loaded__ } end
Private Class Methods
__thread_safe__(&block)
click to toggle source
@return [Any]
@api private @since 0.1.0
# File lib/smart_core/initializer/plugins/abstract.rb, line 51 def __thread_safe__(&block) @__lock__.synchronize(&block) end
install!()
click to toggle source
@return [void]
@api private @since 0.1.0
# File lib/smart_core/initializer/plugins/abstract.rb, line 45 def install!; end