lib/rails_cloud_tasks/rack/jobs.rb in rails-cloud-tasks-0.0.4rc2 vs lib/rails_cloud_tasks/rack/jobs.rb in rails-cloud-tasks-0.0.4
- old
+ new
@@ -13,15 +13,11 @@
)
request = ::Rack::Request.new(env)
job_args = extract_args(request)
- if job_args
- job_class.perform_now(job_args)
- else
- job_class.perform_now
- end
+ job_class.perform_now(*job_args)
response(200, {})
rescue Rack::InvalidPayloadError => e
response(422, { error: e.message })
rescue StandardError => e
@@ -35,10 +31,10 @@
.constantize
end
def extract_args(request)
body = request.body.read
- JSON.parse(body)
+ JSON.parse(body) || []
rescue JSON::ParserError, KeyError
raise Rack::InvalidPayloadError
end
def response(status, body)