class Activejob::GoogleCloudTasks::Rack

Public Class Methods

call(env) click to toggle source
# File lib/activejob/google_cloud_tasks/rack.rb, line 7
def call(env)
  if env['PATH_INFO'].match(/^\/perform/)
    params = Hash[URI::decode_www_form(env['QUERY_STRING'])].symbolize_keys
    raise StandardError, "Job is not specified." unless params.has_key?(:job)

    klass(params[:job]).perform_now(params)
    [200, {}, ['ok']]
  else
    [404, {}, ['not found']]
  end
end

Private Class Methods

klass(job) click to toggle source
# File lib/activejob/google_cloud_tasks/rack.rb, line 21
def klass(job)
  Kernel.const_get(job.camelize)
end