Class: Solidstats::CoverageCompassService

Inherits:
Object
  • Object
show all
Defined in:
app/services/solidstats/coverage_compass_service.rb

Class Method Summary collapse

Class Method Details

.collect_data(force_refresh: false) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'app/services/solidstats/coverage_compass_service.rb', line 7

def collect_data(force_refresh: false)
  # Check if cached data exists and is fresh
  if !force_refresh && cached_data_exists? && cache_fresh?
    Rails.logger.info "CoverageCompass: Using cached data"
    return load_cached_data
  end

  Rails.logger.info "CoverageCompass: Collecting fresh coverage data"

  # Collect fresh coverage data
  coverage_data = collect_coverage_data

  # Cache the data if it's valid coverage information
  if coverage_data && !coverage_data[:setup_required] && !coverage_data[:error]
    cache_coverage_data(coverage_data)
    Rails.logger.info "CoverageCompass: Data cached successfully"
  end

  # Always update summary file
  update_summary_file(coverage_data) if coverage_data

  coverage_data
rescue => e
  Rails.logger.error "Coverage collection failed: #{e.message}"
  { error: e.message, collected_at: Time.current, analyzed_at: Time.current }
end

.refresh_cacheObject



34
35
36
37
# File 'app/services/solidstats/coverage_compass_service.rb', line 34

def refresh_cache
  File.delete(cache_file_path) if File.exist?(cache_file_path)
  collect_data(force_refresh: true)
end