Module: Justdi::ClassResolver
- Defined in:
- lib/justdi/resolvers/class_resolver.rb
Overview
Builder of any classes as pure or injectables
Defined Under Namespace
Modules: Destination
Class Method Summary collapse
-
.call(klass, container) ⇒ T
Build class by resolving all dependencies.
Class Method Details
.call(klass, container) ⇒ T
Build class by resolving all dependencies
23 24 25 26 27 28 29 30 31 32 |
# File 'lib/justdi/resolvers/class_resolver.rb', line 23 def call(klass, container) return klass.new unless klass.is_a? Justdi::Injectable safe_klass = Class.new(klass) klass_args = klass.dependencies.each_with_object({}) do |(token, ), hash| resolve_dependency(safe_klass, token, , container, hash) end safe_klass.new(**klass_args) end |