Class: Activejob::GoogleCloudTasks::Rack

Inherits:
Object
  • Object
show all
Defined in:
lib/activejob/google_cloud_tasks/rack.rb

Class Method Summary collapse

Class Method Details

.call(env) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
# 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