module Corindon::DependencyInjection::Injectable
Public Instance Methods
do_make_definition(name, source, args:, kwargs:, &block)
click to toggle source
# File lib/corindon/dependency_injection/injectable.rb, line 29 def do_make_definition(name, source, args:, kwargs:, &block) if block.nil? Definition.new(source, args: args, kwargs: kwargs, id: name) else Dsl.new(source, args: args, kwargs: kwargs, id: name).exec(&block) end end
factory(service, method)
click to toggle source
# File lib/corindon/dependency_injection/injectable.rb, line 7 def factory(service, method) Token::ServiceFactoryToken.new(service, method) end
injectable(*args, **kwargs, &block)
click to toggle source
# File lib/corindon/dependency_injection/injectable.rb, line 19 def injectable(*args, **kwargs, &block) extend Injectable define_singleton_method :definition do do_make_definition(name, self, args: args, kwargs: kwargs, &block) end end
make_definition(name, source, *args, **kwargs, &block)
click to toggle source
# File lib/corindon/dependency_injection/injectable.rb, line 15 def make_definition(name, source, *args, **kwargs, &block) do_make_definition("#{self.name.downcase.gsub(/::/, '.')}.#{name}", source, args: args, kwargs: kwargs, &block) end
make_parameter(name)
click to toggle source
# File lib/corindon/dependency_injection/injectable.rb, line 11 def make_parameter(name) Token::ParameterToken.new(key: "#{self.name.downcase.gsub(/::/, '.')}.#{name}") end