class Yael::ExecutionJob

Public Instance Methods

perform(target_name, method, args) click to toggle source
# File lib/yael/execution_job.rb, line 7
def perform(target_name, method, args)
  target_constant = target_name.constantize
  parameters = extract_parameters(target_constant.method(method), args)
  target_constant.public_send method, **parameters
end

Private Instance Methods

extract_parameters(method, args) click to toggle source
# File lib/yael/execution_job.rb, line 15
def extract_parameters(method, args)
  requested = method.parameters.select { |e| e.first == :keyreq }.map(&:second)
  args.slice(*requested)
end