Sha256: f651f8abfcd930468c695e053ab3ba3733d403a76ed36d6ea8441f19b1b2feb8

Contents?: true

Size: 1.03 KB

Versions: 7

Compression:

Stored size: 1.03 KB

Contents

require_dependency 'web_console/application_controller'

module WebConsole
  class ConsoleSessionsController < ApplicationController
    rescue_from ConsoleSession::Unavailable do |exception|
      render json: exception, status: :gone
    end

    rescue_from ConsoleSession::Invalid do |exception|
      render json: exception, status: :unprocessable_entity
    end

    def index
      @console_session = ConsoleSession.create
    end

    def input
      @console_session = ConsoleSession.find(params[:id])
      @console_session.send_input(console_session_params[:input])

      render nothing: true
    end

    def configuration
      @console_session = ConsoleSession.find(params[:id])
      @console_session.configure(console_session_params)

      render nothing: true
    end

    def pending_output
      @console_session = ConsoleSession.find(params[:id])

      render json: { output: @console_session.pending_output }
    end

    private

      def console_session_params
        params.permit(:input, :width, :height)
      end
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
web-console-rails3-1.0.3 app/controllers/web_console/console_sessions_controller.rb
web-console-1.0.3 app/controllers/web_console/console_sessions_controller.rb
web-console-1.0.2 app/controllers/web_console/console_sessions_controller.rb
web-console-rails3-1.0.1 app/controllers/web_console/console_sessions_controller.rb
web-console-1.0.1 app/controllers/web_console/console_sessions_controller.rb
web-console-rails3-1.0.0 app/controllers/web_console/console_sessions_controller.rb
web-console-1.0.0 app/controllers/web_console/console_sessions_controller.rb