class Corindon::DependencyInjection::Token::ServiceCallToken

Attributes

args[R]
kwargs[R]
method[R]
service[R]

Public Class Methods

new(service:) click to toggle source
Calls superclass method
# File lib/corindon/dependency_injection/token/service_call_token.rb, line 12
def initialize(service:)
  super()

  @service = service
  @args = []
  @kwargs = {}
end

Public Instance Methods

call(method, *args, **kwargs) click to toggle source
# File lib/corindon/dependency_injection/token/service_call_token.rb, line 20
def call(method, *args, **kwargs)
  @method = method
  @args = args
  @kwargs = kwargs

  self
end
resolve(injector:) click to toggle source

@param [Injector] injector

# File lib/corindon/dependency_injection/token/service_call_token.rb, line 29
def resolve(injector:)
  RubyCompat.do_call(
    injector.resolve(service),
    method,
    injector.resolve(args),
    injector.resolve(kwargs)
  )
end