Class: ChurnVsComplexity::ConcurrentCalculator
- Inherits:
-
Object
- Object
- ChurnVsComplexity::ConcurrentCalculator
- Defined in:
- lib/churn_vs_complexity/concurrent_calculator.rb
Constant Summary collapse
- CONCURRENCY =
Etc.nprocessors
Instance Method Summary collapse
- #calculate(folder:, files:, since:) ⇒ Object
-
#initialize(complexity:, churn:) ⇒ ConcurrentCalculator
constructor
A new instance of ConcurrentCalculator.
Constructor Details
#initialize(complexity:, churn:) ⇒ ConcurrentCalculator
Returns a new instance of ConcurrentCalculator.
9 10 11 12 13 |
# File 'lib/churn_vs_complexity/concurrent_calculator.rb', line 9 def initialize(complexity:, churn:) @complexity = complexity @churn = churn @churn_results = {} end |
Instance Method Details
#calculate(folder:, files:, since:) ⇒ Object
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/churn_vs_complexity/concurrent_calculator.rb', line 15 def calculate(folder:, files:, since:) latest_commit_date = @churn.date_of_latest_commit(folder:) unless latest_commit_date == :disabled @git_period = GitDate.git_period(since, latest_commit_date) schedule_churn_calculation(folder, files[:included], @git_period.effective_start_date) end calculate_complexity(folder, files) await_results combine_results end |