Sha256: 7026e3b16e800efa04ebcf3fb67d565d4b9980ebb54fe01d30f4cd0c4b0744ef

Contents?: true

Size: 948 Bytes

Versions: 3

Compression:

Stored size: 948 Bytes

Contents

module Marty
  class DiagnosticController < ActionController::Base
    def op
      begin
        @result = Diagnostic::Reporter.run(request)
      rescue NameError
        render file: 'public/400', formats: [:html], status: 400, layout: false
      else
        respond_to do |format|
          format.html {@result = display_parameters}
          format.json {render json: process_result_for_api}
        end
      end
    end

    def process_result_for_api
      @result.delete('data') unless request.params['data'] == 'true'
      @result.delete('errors') if @result['errors'] && @result['errors'].empty?
      @result
    end

    def display_parameters
      local  = params[:scope] == 'local'
      data   = local ? @result : @result['data']
      errors = local ?  Diagnostic::Reporter.errors(data) : @result['errors']
      {
        'display' => Diagnostic::Reporter.displays(data),
        'errors' => errors
      }
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
marty-1.1.8 app/controllers/marty/diagnostic_controller.rb
marty-1.1.7 app/controllers/marty/diagnostic_controller.rb
marty-1.1.6 app/controllers/marty/diagnostic_controller.rb