class Corindon::DependencyInjection::Dsl
Public Class Methods
from_definition(definition)
click to toggle source
@param [Definition] definition @return [Dsl]
# File lib/corindon/dependency_injection/dsl.rb, line 9 def from_definition(definition) new( definition.object_source, id: definition.id, args: definition.args, kwargs: definition.kwargs, calls: definition.calls, tags: definition.tags ) end
new(klass, args: [], kwargs: {}, id: nil, calls: [], tags: [])
click to toggle source
@param [Class] klass
# File lib/corindon/dependency_injection/dsl.rb, line 22 def initialize(klass, args: [], kwargs: {}, id: nil, calls: [], tags: []) @klass = klass @args = args @kwargs = kwargs @calls = calls @tags = tags @id = id end
Public Instance Methods
args(*arguments, **kv_arguments)
click to toggle source
# File lib/corindon/dependency_injection/dsl.rb, line 43 def args(*arguments, **kv_arguments) @args = arguments @kwargs = kv_arguments end
call(name, *arguments, **kv_arguments)
click to toggle source
@param [String] name
# File lib/corindon/dependency_injection/dsl.rb, line 49 def call(name, *arguments, **kv_arguments) @calls << [name, arguments, kv_arguments] end
exec(context: {}, &block)
click to toggle source
@param [Hash] context @return [Definition]
# File lib/corindon/dependency_injection/dsl.rb, line 33 def exec(context: {}, &block) if context.is_a?(Hash) context = OpenStruct.new(context) end instance_exec(context, &block) Definition.new(@klass, args: @args, kwargs: @kwargs, calls: @calls, tags: @tags, id: @id) end
id(id)
click to toggle source
@param [String] id
# File lib/corindon/dependency_injection/dsl.rb, line 54 def id(id) @id = id end
on(id)
click to toggle source
@return [Token::ServiceCallToken]
# File lib/corindon/dependency_injection/dsl.rb, line 70 def on(id) Token::ServiceCallToken.new(service: id) end
param(key)
click to toggle source
@param [Class, to_s] key @return [Token::ParameterToken]
# File lib/corindon/dependency_injection/dsl.rb, line 60 def param(key) Token::ParameterToken.new(key: key) end
tag(tag)
click to toggle source
@param [String] tag
# File lib/corindon/dependency_injection/dsl.rb, line 65 def tag(tag) @tags << tag end
tagged(tag)
click to toggle source
@param [String] tag @return [Token::TaggedToken]
# File lib/corindon/dependency_injection/dsl.rb, line 81 def tagged(tag) Token::TaggedToken.new(tag) end
value(val)
click to toggle source
@return [Token::ValueToken]
# File lib/corindon/dependency_injection/dsl.rb, line 75 def value(val) Token::ValueToken.new(value: val) end