Sha256: 0473d3ebb4c4ab045e186b2df3b979a3d1636dccd56583a65a3ef9613a5604a9

Contents?: true

Size: 482 Bytes

Versions: 7

Compression:

Stored size: 482 Bytes

Contents

module AsyncRequest
  class JobsController < ActionController::Base
    def show
      job = Job.find_by(uid: params[:id])
      return head :not_found unless job.present?
      job.processed? ? render_finished_job(job) : render_pending(job)
    end

    private

    def render_pending(job)
      render json: { status: job.status }, status: :accepted
    end

    def render_finished_job(job)
      render json: JSON.parse(job.response), status: job.status_code
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
async_request-0.0.7 app/controllers/async_request/jobs_controller.rb
async_request-0.0.6 app/controllers/async_request/jobs_controller.rb
async_request-0.0.5 app/controllers/async_request/jobs_controller.rb
async_request-0.0.4 app/controllers/async_request/jobs_controller.rb
async_request-0.0.3 app/controllers/async_request/jobs_controller.rb
async_request-0.0.2 app/controllers/async_request/jobs_controller.rb
async_request-0.0.1 app/controllers/async_request/jobs_controller.rb