Class: Solidstats::QualityController

Inherits:
ApplicationController show all
Defined in:
app/controllers/solidstats/quality_controller.rb

Instance Method Summary collapse

Instance Method Details

#coverage_compassObject

Display SimpleCov code coverage analysis



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'app/controllers/solidstats/quality_controller.rb', line 33

def coverage_compass
  # Get coverage data using the correct method
  @analysis_data = Solidstats::CoverageCompassService.collect_data

  # Handle different response types from service
  if @analysis_data
    if @analysis_data[:setup_required]
      @setup_instructions = @analysis_data[:instructions]
      @show_setup = true
      @analysis_data[:status] = "setup_required"
    elsif @analysis_data[:stale_data]
      @stale_warning = true
      @data_age_hours = @analysis_data[:data_age_hours]
      @suggestions = @analysis_data[:suggestions]
      @analysis_data = @analysis_data[:last_coverage] || @analysis_data
      @analysis_data[:status] = "stale"
    elsif @analysis_data[:error]
      @error_message = @analysis_data[:error]
      @analysis_data[:status] = "error"
    else
      @analysis_data[:status] = "success"
    end

    # Organize file coverage data for better display
    organize_coverage_data
  else
    set_error_state
    @analysis_data = { status: "error" }
  end

  render "coverage_compass"
end

#refresh_coverage_compassObject

Force refresh of coverage compass data



67
68
69
70
71
72
# File 'app/controllers/solidstats/quality_controller.rb', line 67

def refresh_coverage_compass
  Solidstats::CoverageCompassService.refresh_cache
  redirect_to quality_coverage_compass_path, notice: "Code coverage analysis refreshed successfully."
rescue => e
  redirect_to quality_coverage_compass_path, alert: "Error refreshing coverage analysis: #{e.message}"
end

#refresh_style_patrolObject

Force refresh of style patrol data



25
26
27
28
29
30
# File 'app/controllers/solidstats/quality_controller.rb', line 25

def refresh_style_patrol
  @analysis_data = Solidstats::StylePatrolService.refresh_cache
  redirect_to quality_style_patrol_path, notice: "Code quality analysis refreshed successfully."
rescue => e
  redirect_to quality_style_patrol_path, alert: "Error refreshing analysis: #{e.message}"
end

#style_patrolObject

Display Standard gem code quality analysis



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/controllers/solidstats/quality_controller.rb', line 8

def style_patrol
  @analysis_data = Solidstats::StylePatrolService.collect_data
  @summary = Solidstats::StylePatrolService.get_summary

  # Group issues by file for better display
  if @analysis_data[:issues].present?
    @issues_by_file = @analysis_data[:issues].group_by { |issue| issue[:file] }
    @issues_by_severity = @analysis_data[:issues].group_by { |issue| issue[:severity] }
  else
    @issues_by_file = {}
    @issues_by_severity = {}
  end

  render "style_patrol"
end