forked from rubygarage/boilerplate
-
Notifications
You must be signed in to change notification settings - Fork 1
Macro::Inject
Vladislav Trotsenko edited this page Oct 21, 2020
·
1 revision
Provides to set dependency injection in operations.
class Container
extend Dry::Container::Mixin
namespace 'some_namespace' { register('some_dependency') { SomeDependency } }
end
class SomeOperation < ApplicationOperation
step Macro::Inject(some_dependency: 'some_namespace.some_dependency') # ctx[:some_dependency] = SomeDependency
endclass SomeOperation < ApplicationOperation
step Macro::Inject(some_dependency: SomeDependency, other_dependency: OtherDependency)
# ctx[:some_dependency], ctx[:other_dependency] = SomeDependency, OtherDependency
endclass SomeOperation < ApplicationOperation
step Macro::Inject(some_dependency: 'some_namespace.some_dependency', other_dependency: OtherDependency)
# ctx[:some_dependency], ctx[:other_dependency] = SomeDependency, OtherDependency
end