Module: Mankiq::Web

Defined in:
lib/mankiq/web.rb

Constant Summary collapse

VIEWS_PATH =
File.expand_path('../views', __FILE__)

Class Method Summary collapse

Class Method Details

.registered(app) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/mankiq/web.rb', line 7

def self.registered(app)
  app.get "/manual" do
    Dir[Mankiq.config.workers_dir].each {|file| require file }
    @workers = Worker.workers.sort_by { |worker| worker.name }
    erb File.read(File.join(VIEWS_PATH, 'manual_workers.html.erb')), locals: {view_path: VIEWS_PATH}
  end

  app.post "/manual/:name/trigger" do
    halt 404 unless (name = params[:name])

    worker = Worker.workers.detect do |worker|
      worker.name == name
    end

    worker.perform_async if worker
    redirect "#{root_path}/manual"
  end
end