Class: CodeQualia::ScoreCalculator
- Inherits:
-
Object
- Object
- CodeQualia::ScoreCalculator
- Defined in:
- lib/code_qualia/score_calculator.rb
Instance Method Summary collapse
- #calculate(coverage_data:, complexity_data:, git_data:) ⇒ Object
-
#initialize(config) ⇒ ScoreCalculator
constructor
A new instance of ScoreCalculator.
Constructor Details
#initialize(config) ⇒ ScoreCalculator
Returns a new instance of ScoreCalculator.
7 8 9 |
# File 'lib/code_qualia/score_calculator.rb', line 7 def initialize(config) @config = config end |
Instance Method Details
#calculate(coverage_data:, complexity_data:, git_data:) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/code_qualia/score_calculator.rb', line 11 def calculate(coverage_data:, complexity_data:, git_data:) results = [] # Get target patterns from configuration using ConfigHelper target_patterns = ConfigHelper.get_target_patterns # Collect files from configured patterns and data sources config_files = [] target_patterns.each do |pattern| config_files.concat(Dir.glob(pattern)) end all_files = ( config_files + coverage_data.keys + complexity_data.keys + git_data.keys ).uniq all_files.each do |file_path| next if @config.excluded?(file_path) file_methods = extract_methods_for_file(file_path, coverage_data, complexity_data, git_data) results.concat(file_methods) end results.sort_by { |method| -method[:score] } end |