module Justdi::Resolver
Wrapper over typed definition resolvers
Public Class Methods
call(definition, container)
click to toggle source
Resolve definition using container
@param definition [Justdi::Definition] @param container [Justdi::Container] @return [*]
@raise [Justdi::UnknownDefinitionTypeError]
# File lib/justdi/resolver.rb, line 14 def call(definition, container) resolver_method = "#{definition.type}_value" unless respond_to? resolver_method raise Justdi::UnknownDefinitionTypeError, definition end send resolver_method, definition.pure_value, container end
class_value(value, container)
click to toggle source
Resolve class using container
@param value [Class] @param container [Justdi::Container] @return [Object]
# File lib/justdi/resolver.rb, line 28 def class_value(value, container) ClassResolver.call value, container end
factory_value(factory, container)
click to toggle source
Invoke factory injecting container
@param factory [Proc] @param container [Justdi::Container] @return [*]
# File lib/justdi/resolver.rb, line 46 def factory_value(factory, container) FactoryResolver.call factory, container end
static_value(value, _)
click to toggle source
Resolve a static value
@param value [*] @param container [Justdi::Container] @return [*]
# File lib/justdi/resolver.rb, line 37 def static_value(value, _) value end