Module: SenroUsecaser::DependsOn::InstanceMethods
- Defined in:
- lib/senro_usecaser/depends_on.rb
Overview
Instance methods for dependency resolution
These methods are automatically included when DependsOn is extended. They require @_container and @_dependencies instance variables to be set.
Instance Method Summary collapse
-
#initialize(container: nil) ⇒ Object
Default initialize for classes using DependsOn.
-
#resolve_dependencies ⇒ Object
Resolves all declared dependencies from the container.
Instance Method Details
#initialize(container: nil) ⇒ Object
Default initialize for classes using DependsOn
This provides a default initialize that sets up dependency injection. Classes can override this and call super to extend the behavior.
: (?container: Container?) -> void
184 185 186 187 188 |
# File 'lib/senro_usecaser/depends_on.rb', line 184 def initialize(container: nil) @_container = container || SenroUsecaser.container @_dependencies = {} #: Hash[Symbol, untyped] resolve_dependencies end |
#resolve_dependencies ⇒ Object
Resolves all declared dependencies from the container
Call this in your initialize method after setting @_container and @_dependencies.
: () -> void
202 203 204 205 206 |
# File 'lib/senro_usecaser/depends_on.rb', line 202 def resolve_dependencies self.class.dependencies.each do |name| # steep:ignore NoMethod @_dependencies[name] = resolve_from_container(name) end end |