module SmartCore::Container::Mixin::ClassMethods

@api private @since 0.7.0

Public Instance Methods

container() click to toggle source

@return [SmartCore::Container]

@api public @since 0.7.0

# File lib/smart_core/container/mixin.rb, line 66
def container
  @__smart_core_container_access_lock__.thread_safe do
    @__smart_core_container__ ||= @__smart_core_container_klass__.new
  end
end
dependencies(freeze_state: false, &block) click to toggle source

@param freeze_state [Boolean] @param block [Proc] @return [void]

@api public @since 0.7.0

# File lib/smart_core/container/mixin.rb, line 55
def dependencies(freeze_state: false, &block)
  @__smart_core_container_access_lock__.thread_safe do
    @__smart_core_container_klass__.instance_eval(&block) if block_given?
    @__smart_core_container_klass__.instance_eval { freeze_state! } if freeze_state
  end
end