module Resque::ApproveServer

Extends Resque Web Based UI. Structure has been borrowed from ResqueHistory.

Public Class Methods

erb_path(filename) click to toggle source
# File lib/resque/approve_server.rb, line 19
def erb_path(filename)
  File.join(File.dirname(__FILE__), "server", "views", filename)
end
included(base) click to toggle source
# File lib/resque/approve_server.rb, line 27
def included(base)
  add_page_views(base)
  add_button_callbacks(base)
  add_static_files(base)
end
public_path(filename) click to toggle source
# File lib/resque/approve_server.rb, line 23
def public_path(filename)
  File.join(File.dirname(__FILE__), "server", "public", filename)
end

Private Class Methods

add_button_callbacks(base) click to toggle source
# File lib/resque/approve_server.rb, line 104
def add_button_callbacks(base)
  audit_jobs(base)
  audit_queues(base)
  delete_all_queues(base)
  approve_all_queues(base)
  delete_queue(base)
  reset_running(base)
  delete_one_queue(base)
  approve_queue(base)
  approve_one_queue(base)
  pause_queue(base)
  resume_queue(base)
  delete_job(base)
  approve_job(base)
end
add_page_views(base) click to toggle source
# File lib/resque/approve_server.rb, line 35
def add_page_views(base)
  approval_keys(base)
  job_list(base)
  job_details(base)
end
add_static_files(base) click to toggle source
# File lib/resque/approve_server.rb, line 96
def add_static_files(base)
  base.class_eval do
    get %r{/approve/public/([a-z_]+\.[a-z]+)} do
      send_file Resque::ApproveServer.public_path(params[:captures]&.first)
    end
  end
end
approval_key_params(base) click to toggle source
# File lib/resque/approve_server.rb, line 53
def approval_key_params(base)
  base.class_eval do
    def set_approval_key_params
      @sort_by    = params[:sort] || "approval_key"
      @sort_order = params[:order] || "desc"
      @page_num   = (params[:page_num] || 1).to_i
      @page_size  = (params[:page_size] || 20).to_i
    end
  end
end
approval_keys(base) click to toggle source
# File lib/resque/approve_server.rb, line 41
def approval_keys(base)
  approval_key_params(base)

  base.class_eval do
    get "/approve" do
      set_approval_key_params

      erb File.read(Resque::ApproveServer.erb_path("approval_keys.erb"))
    end
  end
end
approve_all_queues(base) click to toggle source
# File lib/resque/approve_server.rb, line 150
def approve_all_queues(base)
  base.class_eval do
    post "/approve/approve_all_queues" do
      Resque::Plugins::Approve::ApprovalKeyList.new.approve_all

      redirect u("approve")
    end
  end
end
approve_job(base) click to toggle source
# File lib/resque/approve_server.rb, line 244
def approve_job(base)
  base.class_eval do
    post "/approve/approve_job" do
      job = Resque::Plugins::Approve::PendingJob.new(params[:job_id])

      job.enqueue_job

      redirect u("approve/job_list?#{{ approval_key: job.approval_key }.to_param}")
    end
  end
end
approve_one_queue(base) click to toggle source
# File lib/resque/approve_server.rb, line 201
def approve_one_queue(base)
  base.class_eval do
    post "/approve/approve_one_queue" do
      Resque::Plugins::Approve::PendingJobQueue.new(params[:approval_key]).approve_one

      redirect u("approve/job_list?#{{ approval_key: params[:approval_key] }.to_param}")
    end
  end
end
approve_queue(base) click to toggle source
# File lib/resque/approve_server.rb, line 191
def approve_queue(base)
  base.class_eval do
    post "/approve/approve_queue" do
      Resque::Plugins::Approve::PendingJobQueue.new(params[:approval_key]).approve_all

      redirect u("approve/job_list?#{{ approval_key: params[:approval_key] }.to_param}")
    end
  end
end
audit_jobs(base) click to toggle source
# File lib/resque/approve_server.rb, line 120
def audit_jobs(base)
  base.class_eval do
    post "/approve/audit_jobs" do
      Resque::Plugins::Approve::Cleaner.cleanup_jobs

      redirect u("approve")
    end
  end
end
audit_queues(base) click to toggle source
# File lib/resque/approve_server.rb, line 130
def audit_queues(base)
  base.class_eval do
    post "/approve/audit_queues" do
      Resque::Plugins::Approve::Cleaner.cleanup_queues

      redirect u("approve")
    end
  end
end
delete_all_queues(base) click to toggle source
# File lib/resque/approve_server.rb, line 140
def delete_all_queues(base)
  base.class_eval do
    post "/approve/delete_all_queues" do
      Resque::Plugins::Approve::ApprovalKeyList.new.delete_all

      redirect u("approve")
    end
  end
end
delete_job(base) click to toggle source
# File lib/resque/approve_server.rb, line 231
def delete_job(base)
  base.class_eval do
    post "/approve/delete_job" do
      job = Resque::Plugins::Approve::PendingJob.new(params[:job_id])

      job.approval_key
      job.delete

      redirect u("approve/job_list?#{{ approval_key: job.approval_key }.to_param}")
    end
  end
end
delete_one_queue(base) click to toggle source
# File lib/resque/approve_server.rb, line 181
def delete_one_queue(base)
  base.class_eval do
    post "/approve/delete_one_queue" do
      Resque::Plugins::Approve::PendingJobQueue.new(params[:approval_key]).remove_one

      redirect u("approve/job_list?#{{ approval_key: params[:approval_key] }.to_param}")
    end
  end
end
delete_queue(base) click to toggle source
# File lib/resque/approve_server.rb, line 160
def delete_queue(base)
  base.class_eval do
    post "/approve/delete_queue" do
      Resque::Plugins::Approve::PendingJobQueue.new(params[:approval_key]).delete
      Resque::Plugins::Approve::ApprovalKeyList.new.remove_key(params[:approval_key])

      redirect u("approve")
    end
  end
end
job_details(base) click to toggle source
# File lib/resque/approve_server.rb, line 86
def job_details(base)
  base.class_eval do
    get "/approve/job_details" do
      @job_id = params[:job_id]

      erb File.read(Resque::ApproveServer.erb_path("job_details.erb"))
    end
  end
end
job_list(base) click to toggle source
# File lib/resque/approve_server.rb, line 64
def job_list(base)
  job_list_params(base)

  base.class_eval do
    get "/approve/job_list" do
      set_job_list_params_params

      erb File.read(Resque::ApproveServer.erb_path("job_list.erb"))
    end
  end
end
job_list_params(base) click to toggle source
# File lib/resque/approve_server.rb, line 76
def job_list_params(base)
  base.class_eval do
    def set_job_list_params_params
      @approval_key = params[:approval_key]
      @page_num     = (params[:page_num] || 1).to_i
      @page_size    = (params[:page_size] || 20).to_i
    end
  end
end
pause_queue(base) click to toggle source
# File lib/resque/approve_server.rb, line 211
def pause_queue(base)
  base.class_eval do
    post "/approve/pause" do
      Resque::Plugins::Approve::PendingJobQueue.new(params[:approval_key]).pause

      redirect u("approve/job_list?#{{ approval_key: params[:approval_key] }.to_param}")
    end
  end
end
reset_running(base) click to toggle source
# File lib/resque/approve_server.rb, line 171
def reset_running(base)
  base.class_eval do
    post "/approve/reset_running" do
      Resque::Plugins::Approve::PendingJobQueue.new(params[:approval_key]).reset_running

      redirect u("approve/job_list?#{{ approval_key: params[:approval_key] }.to_param}")
    end
  end
end
resume_queue(base) click to toggle source
# File lib/resque/approve_server.rb, line 221
def resume_queue(base)
  base.class_eval do
    post "/approve/resume" do
      Resque::Plugins::Approve::PendingJobQueue.new(params[:approval_key]).resume

      redirect u("approve/job_list?#{{ approval_key: params[:approval_key] }.to_param}")
    end
  end
end
set_approval_key_params() click to toggle source
# File lib/resque/approve_server.rb, line 55
def set_approval_key_params
  @sort_by    = params[:sort] || "approval_key"
  @sort_order = params[:order] || "desc"
  @page_num   = (params[:page_num] || 1).to_i
  @page_size  = (params[:page_size] || 20).to_i
end
set_job_list_params_params() click to toggle source
# File lib/resque/approve_server.rb, line 78
def set_job_list_params_params
  @approval_key = params[:approval_key]
  @page_num     = (params[:page_num] || 1).to_i
  @page_size    = (params[:page_size] || 20).to_i
end