Class: ChurnVsComplexity::Complexity::PMD::FilesCalculator
- Inherits:
-
Object
- Object
- ChurnVsComplexity::Complexity::PMD::FilesCalculator
- Defined in:
- lib/churn_vs_complexity/complexity/pmd/files_calculator.rb
Instance Method Summary collapse
- #calculate(files:) ⇒ Object
- #folder_based? ⇒ Boolean
-
#initialize(cache_components:) ⇒ FilesCalculator
constructor
A new instance of FilesCalculator.
Constructor Details
#initialize(cache_components:) ⇒ FilesCalculator
Returns a new instance of FilesCalculator.
7 8 9 |
# File 'lib/churn_vs_complexity/complexity/pmd/files_calculator.rb', line 7 def initialize(cache_components:) @cache_components = cache_components end |
Instance Method Details
#calculate(files:) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/churn_vs_complexity/complexity/pmd/files_calculator.rb', line 13 def calculate(files:) return Parser.empty_result if files.empty? cache_path = PMD.resolve_cache_path(*@cache_components) files_arg = files.map { |file| "-d #{file}" }.join(' ') command = "pmd check #{files_arg} -R #{PMD.resolve_ruleset_path} -f json -t #{CONCURRENCY} --cache #{cache_path} 2>/dev/null" output = `#{command}` Parser.new.parse(output) end |
#folder_based? ⇒ Boolean
11 |
# File 'lib/churn_vs_complexity/complexity/pmd/files_calculator.rb', line 11 def folder_based? = false |