module Resque::StagesServer

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

Public Class Methods

erb_path(filename) click to toggle source
# File lib/resque/stages_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/stages_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/stages_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/stages_server.rb, line 129
def add_button_callbacks(base)
  purge_all(base)
  cleanup_jobs(base)
  delete_all_groups(base)
  initiate_group(base)
  delete_group(base)
  initiate_stage(base)
  delete_stage(base)
  queue_job(base)
  delete_job(base)
end
add_page_views(base) click to toggle source
# File lib/resque/stages_server.rb, line 35
def add_page_views(base)
  groups_list(base)
  group_stages_list(base)
  stage_jobs_list(base)
  job_details(base)
end
add_static_files(base) click to toggle source
# File lib/resque/stages_server.rb, line 121
def add_static_files(base)
  base.class_eval do
    get %r{/stages/public/([a-z_]+\.[a-z]+)} do
      send_file Resque::StagesServer.public_path(params[:captures]&.first)
    end
  end
end
cleanup_jobs(base) click to toggle source
# File lib/resque/stages_server.rb, line 151
def cleanup_jobs(base)
  base.class_eval do
    post "/stages/cleanup_jobs" do
      Resque::Plugins::Stages::Cleaner.cleanup_jobs

      redirect u("stages")
    end
  end
end
delete_all_groups(base) click to toggle source
# File lib/resque/stages_server.rb, line 161
def delete_all_groups(base)
  base.class_eval do
    post "/stages/delete_all_groups" do
      Resque::Plugins::Stages::StagedGroupList.new.delete_all

      redirect u("stages")
    end
  end
end
delete_group(base) click to toggle source
# File lib/resque/stages_server.rb, line 181
def delete_group(base)
  base.class_eval do
    post "/stages/delete_group" do
      Resque::Plugins::Stages::StagedGroup.new(params[:group_id]).delete

      redirect u("stages")
    end
  end
end
delete_job(base) click to toggle source
# File lib/resque/stages_server.rb, line 221
def delete_job(base)
  base.class_eval do
    post "/stages/delete_job" do
      Resque::Plugins::Stages::StagedJob.new(params[:job_id]).delete

      redirect u("stages")
    end
  end
end
delete_stage(base) click to toggle source
# File lib/resque/stages_server.rb, line 201
def delete_stage(base)
  base.class_eval do
    post "/stages/delete_stage" do
      Resque::Plugins::Stages::StagedGroupStage.new(params[:group_stage_id]).delete

      redirect u("stages")
    end
  end
end
group_stages_list(base) click to toggle source
# File lib/resque/stages_server.rb, line 65
def group_stages_list(base)
  group_stages_list_params(base)

  base.class_eval do
    get "/stages/group_stages_list" do
      set_group_stages_list_params_params

      erb File.read(Resque::StagesServer.erb_path("group_stages_list.erb"))
    end
  end
end
group_stages_list_params(base) click to toggle source
# File lib/resque/stages_server.rb, line 77
def group_stages_list_params(base)
  base.class_eval do
    def set_group_stages_list_params_params
      @group_id  = params[:group_id]
      @page_num  = (params[:page_num] || 1).to_i
      @page_size = (params[:page_size] || 20).to_i
    end
  end
end
groups_list(base) click to toggle source
# File lib/resque/stages_server.rb, line 42
def groups_list(base)
  stages_key_params(base)

  base.class_eval do
    get "/stages" do
      set_stages_key_params

      erb File.read(Resque::StagesServer.erb_path("groups.erb"))
    end
  end
end
initiate_group(base) click to toggle source
# File lib/resque/stages_server.rb, line 171
def initiate_group(base)
  base.class_eval do
    post "/stages/initiate_group" do
      Resque::Plugins::Stages::StagedGroup.new(params[:group_id]).initiate

      redirect u("stages")
    end
  end
end
initiate_stage(base) click to toggle source
# File lib/resque/stages_server.rb, line 191
def initiate_stage(base)
  base.class_eval do
    post "/stages/initiate_stage" do
      Resque::Plugins::Stages::StagedGroupStage.new(params[:group_stage_id]).initiate

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

      erb File.read(Resque::StagesServer.erb_path("job_details.erb"))
    end
  end
end
purge_all(base) click to toggle source
# File lib/resque/stages_server.rb, line 141
def purge_all(base)
  base.class_eval do
    post "/stages/purge_all" do
      Resque::Plugins::Stages::Cleaner.purge_all

      redirect u("stages")
    end
  end
end
queue_job(base) click to toggle source
# File lib/resque/stages_server.rb, line 211
def queue_job(base)
  base.class_eval do
    post "/stages/queue_job" do
      Resque::Plugins::Stages::StagedJob.new(params[:job_id]).enqueue_job

      redirect u("stages")
    end
  end
end
set_group_stages_list_params_params() click to toggle source
# File lib/resque/stages_server.rb, line 79
def set_group_stages_list_params_params
  @group_id  = params[:group_id]
  @page_num  = (params[:page_num] || 1).to_i
  @page_size = (params[:page_size] || 20).to_i
end
set_stage_jobs_key_params() click to toggle source
# File lib/resque/stages_server.rb, line 101
def set_stage_jobs_key_params
  @group_stage_id = params[:group_stage_id]
  @sort_by        = params[:sort] || "status"
  @sort_order     = params[:order] || "desc"
  @page_num       = (params[:page_num] || 1).to_i
  @page_size      = (params[:page_size] || 20).to_i
end
set_stages_key_params() click to toggle source
# File lib/resque/stages_server.rb, line 56
def set_stages_key_params
  @sort_by    = params[:sort] || "description"
  @sort_order = params[:order] || "asc"
  @page_num   = (params[:page_num] || 1).to_i
  @page_size  = (params[:page_size] || 20).to_i
end
stage_jobs_key_params(base) click to toggle source
# File lib/resque/stages_server.rb, line 99
def stage_jobs_key_params(base)
  base.class_eval do
    def set_stage_jobs_key_params
      @group_stage_id = params[:group_stage_id]
      @sort_by        = params[:sort] || "status"
      @sort_order     = params[:order] || "desc"
      @page_num       = (params[:page_num] || 1).to_i
      @page_size      = (params[:page_size] || 20).to_i
    end
  end
end
stage_jobs_list(base) click to toggle source
# File lib/resque/stages_server.rb, line 87
def stage_jobs_list(base)
  stage_jobs_key_params(base)

  base.class_eval do
    get "/stages/stage" do
      set_stage_jobs_key_params

      erb File.read(Resque::StagesServer.erb_path("stage.erb"))
    end
  end
end
stages_key_params(base) click to toggle source
# File lib/resque/stages_server.rb, line 54
def stages_key_params(base)
  base.class_eval do
    def set_stages_key_params
      @sort_by    = params[:sort] || "description"
      @sort_order = params[:order] || "asc"
      @page_num   = (params[:page_num] || 1).to_i
      @page_size  = (params[:page_size] || 20).to_i
    end
  end
end