Class: BuilderApm::DiagnoseRequestController

Inherits:
ApplicationController show all
Defined in:
app/controllers/builder_apm/diagnose_request_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#redis_client

Instance Method Details

#deeper_analysisObject



20
21
22
23
24
25
26
27
28
29
30
# File 'app/controllers/builder_apm/diagnose_request_controller.rb', line 20

def deeper_analysis
  return render json: { request_id: request_id, deeper_diagnosis: @existing_deeper_diagnosis } if @existing_deeper_diagnosis
  return render json: { error: "No diagnosis found for #{request_id}" }, status: :not_found unless @existing_diagnosis
  return render json: { error: "No data found for #{request_id}" }, status: :not_found unless @parsed_request_data
  return render json: { error: "No file or line number passed" }, status: :not_found unless files

  diagnosis = doctor.deeper_analysis(@parsed_request_data, @existing_diagnosis, files)
  redis_client.set(redis_deeper_diagnosis_key, diagnosis)

  render json: { request_id: request_id, deeper_diagnosis: diagnosis }
end

#indexObject



10
11
12
13
14
15
16
17
18
# File 'app/controllers/builder_apm/diagnose_request_controller.rb', line 10

def index
  return render json: { request_id: request_id, full_diagnosis: @existing_diagnosis } if @existing_diagnosis
  return render json: { error: "No data found for #{request_id}" }, status: :not_found unless @parsed_request_data

  diagnosis = doctor.diagnose(@parsed_request_data)

  redis_client.set(redis_diagnosis_key, diagnosis)
  render json: { request_id: request_id, full_diagnosis: diagnosis }
end