class SmartCore::Injection::Injector::InjectionSettings
@api private @since 0.1.0
Constants
- ACCESS_MARKS
@return [Array<Symbol>]
@api private @since 0.1.0
- BINDING_STRATEGIES
@return [Array<Symbol>]
@api private @since 0.1.0
- DEFAULT_ACCESS
@return [Symbol]
@api private @since 0.1.0
- DEFAULT_BINDING_STRATEGY
@return [Symbol]
@api private @since 0.1.0
- DEFAULT_IMPORTS
@return [Hash<String|Symbol,String>]
@api private @since 0.1.0
- DEFAULT_MEMOIZE
@return [Boolean]
@api private @since 0.1.0
- EMPTY_CONTAINER_DESTINATION
@return [NilClass]
@api private @since 0.1.0
Attributes
@return [Symbol]
@api private @since 0.1.0
@return [Symbol]
@api private @since 0.1.0
@return [SmartCore::Injection::Injector::ContainerSet]
@api private @since 0.1.0
@return [NilClass, <SmartCore::Container>]
@api private @since 0.1.0
@return [Hash<String|Symbol,String>]
@api private @since 0.1.0
@return [Class, Module]
@api private @since 0.1.0
@return [Boolean]
@api private @since 0.1.0
Public Class Methods
@param injectable [Class, Module] @param container_set
[SmartCore::Injection::Injector::ContainerSet] @param import [Hash<String|Symbol,String>] @option memoize [Boolean] @option access [Symbol] @option bind [Symbol] @option from [NilClass, SmartCore::Container] @return [void]
@api private @since 0.1.0
# File lib/smart_core/injection/injector/injection_settings.rb, line 103 def initialize( injectable, container_set, imports, memoize: DEFAULT_MEMOIZE, access: DEFAULT_ACCESS, bind: DEFAULT_BINDING_STRATEGY, from: EMPTY_CONTAINER_DESTINATION ) IncompatabilityControl.prevent_incompatabilities!( injectable, imports, memoize, access, bind, from ) @injectable = injectable @container_set = container_set @imports = imports @memoize = memoize @access = access @bind = bind @from = from end
Public Instance Methods
@return [Boolean]
@api private @since 0.1.0
# File lib/smart_core/injection/injector/injection_settings.rb, line 150 def bind_dynamic? bind == :dynamic end
@return [Boolean]
@api private @since 0.1.0
# File lib/smart_core/injection/injector/injection_settings.rb, line 158 def bind_static? bind == :static end
@return [Class]
@api private @since 0.1.0
# File lib/smart_core/injection/injector/injection_settings.rb, line 142 def class_level_injectable class << injectable; self; end end
@param block [Block] @yield [import_key, import_path] @yieldparam import_key [String, Symbol] @yieldparam import_path [String] @return [Enumerable]
@api private @since 0.1.0
# File lib/smart_core/injection/injector/injection_settings.rb, line 170 def each_import(&block) block_given? ? imports.each_pair(&block) : imports.each_pair end
@return [Class, Module]
@api private @since 0.1.0
# File lib/smart_core/injection/injector/injection_settings.rb, line 134 def instance_level_injectable injectable end