Module: Justdi::Resolver

Defined in:
lib/justdi/resolver.rb

Overview

Wrapper over typed definition resolvers

Class Method Summary collapse

Class Method Details

.call(definition, container) ⇒ *

Resolve definition using container

Parameters:

Returns:

  • (*)

Raises:



14
15
16
17
18
19
20
21
# 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) ⇒ Object

Resolve class using container

Parameters:

Returns:

  • (Object)


28
29
30
# File 'lib/justdi/resolver.rb', line 28

def class_value(value, container)
  ClassResolver.call value, container
end

.factory_value(factory, container) ⇒ *

Invoke factory injecting container

Parameters:

Returns:

  • (*)


46
47
48
# File 'lib/justdi/resolver.rb', line 46

def factory_value(factory, container)
  FactoryResolver.call factory, container
end

.static_value(value, _) ⇒ *

Resolve a static value

Parameters:

Returns:

  • (*)


37
38
39
# File 'lib/justdi/resolver.rb', line 37

def static_value(value, _)
  value
end