Sha256: 591c829f860d98e95727a2198b1b6963a001f233bc602d62bbf886253bc5bdd9

Contents?: true

Size: 678 Bytes

Versions: 1

Compression:

Stored size: 678 Bytes

Contents

# encoding: utf-8
module Sinatra
  module ProcessesHandler
    extend Hexacta

    def enable_processes
      p "Enabling processes..."

      get '/processes' do
        return "" if ProcessManager.instance.find(params[:class]).nil?
        content_type :json
        return { "progress" => ProcessManager.instance.find(params[:class]).progress }.to_json
      end

      post '/processes/:id' do |id|
        ProcessManager.instance.interrupt(id)
      end

      post '/process' do
        klass = Object.const_get("#{params[:class]}")
        a_handler = ProcessManager.instance.run(klass)
        a_handler.to_json
      end
    end

  end
  register ProcessesHandler
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sinatra-hexacta-0.8.0 lib/sinatra/handlers/processes.rb