Class: RocketJobMissionControl::ServersController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- RocketJobMissionControl::ServersController
- Defined in:
- app/controllers/rocket_job_mission_control/servers_controller.rb
Constant Summary collapse
- VALID_ACTIONS =
%i[stop kill pause resume thread_dump].freeze
Instance Method Summary collapse
- #destroy ⇒ Object
- #index ⇒ Object
- #pause ⇒ Object
- #paused ⇒ Object
- #resume ⇒ Object
- #running ⇒ Object
- #starting ⇒ Object
- #stop ⇒ Object
- #stopping ⇒ Object
- #update_all ⇒ Object
- #zombie ⇒ Object
Instance Method Details
#destroy ⇒ Object
86 87 88 89 90 91 92 93 94 |
# File 'app/controllers/rocket_job_mission_control/servers_controller.rb', line 86 def destroy :destroy, @server @server.destroy flash[:success] = t(:success, scope: %i[server destroy]) respond_to do |format| format.html { redirect_to servers_path } end end |
#index ⇒ Object
19 20 21 22 23 |
# File 'app/controllers/rocket_job_mission_control/servers_controller.rb', line 19 def index @data_table_url = servers_url(format: "json") @actions = %i[pause resume stop kill destroy_zombies] render_datatable(RocketJob::Server.all, "All") end |
#pause ⇒ Object
96 97 98 99 100 101 102 103 104 |
# File 'app/controllers/rocket_job_mission_control/servers_controller.rb', line 96 def pause :pause, @server RocketJob::Subscribers::Server.publish(:pause, server_id: @server.id) flash[:success] = t(:success, scope: %i[server update_one], action: "pause", name: @server.name) respond_to do |format| format.html { redirect_to servers_path } end end |
#paused ⇒ Object
37 38 39 40 41 |
# File 'app/controllers/rocket_job_mission_control/servers_controller.rb', line 37 def paused @data_table_url = paused_servers_url(format: "json") @actions = %i[resume destroy_zombies] render_datatable(RocketJob::Server.paused, "Paused") end |
#resume ⇒ Object
106 107 108 109 110 111 112 113 114 |
# File 'app/controllers/rocket_job_mission_control/servers_controller.rb', line 106 def resume :resume, @server RocketJob::Subscribers::Server.publish(:resume, server_id: @server.id) flash[:success] = t(:success, scope: %i[server update_one], action: "resume", name: @server.name) respond_to do |format| format.html { redirect_to servers_path } end end |
#running ⇒ Object
31 32 33 34 35 |
# File 'app/controllers/rocket_job_mission_control/servers_controller.rb', line 31 def running @data_table_url = running_servers_url(format: "json") @actions = %i[pause stop kill destroy_zombies] render_datatable(RocketJob::Server.running, "Running") end |
#starting ⇒ Object
25 26 27 28 29 |
# File 'app/controllers/rocket_job_mission_control/servers_controller.rb', line 25 def starting @data_table_url = starting_servers_url(format: "json") @actions = %i[pause stop kill] render_datatable(RocketJob::Server.starting, "Starting") end |
#stop ⇒ Object
76 77 78 79 80 81 82 83 84 |
# File 'app/controllers/rocket_job_mission_control/servers_controller.rb', line 76 def stop :stop, @server RocketJob::Subscribers::Server.publish(:stop, server_id: @server.id) flash[:success] = t(:success, scope: %i[server update_one], action: "stop", name: @server.name) respond_to do |format| format.html { redirect_to servers_path } end end |
#stopping ⇒ Object
43 44 45 46 47 |
# File 'app/controllers/rocket_job_mission_control/servers_controller.rb', line 43 def stopping @data_table_url = stopping_servers_url(format: "json") @actions = [:destroy_zombies] render_datatable(RocketJob::Server.stopping, "Stopping") end |
#update_all ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'app/controllers/rocket_job_mission_control/servers_controller.rb', line 57 def update_all server_action = params[:server_action].to_sym server_action, RocketJob::Server if server_action == :destroy_zombies RocketJob::Server.destroy_zombies elsif VALID_ACTIONS.include?(server_action) RocketJob::Subscribers::Server.publish(server_action) flash[:success] = t(:success, scope: %i[server update_all], action: server_action.to_s) else flash[:danger] = t(:invalid, scope: %i[server update_all]) end # TODO: Refresh the same page it was on respond_to do |format| format.html { redirect_to servers_path } end end |
#zombie ⇒ Object
49 50 51 52 53 |
# File 'app/controllers/rocket_job_mission_control/servers_controller.rb', line 49 def zombie @data_table_url = zombie_servers_url(format: "json") @actions = [:destroy_zombies] render_datatable(RocketJob::Server.zombies, "Zombie") end |