Class: ChurnVsComplexity::Engine

Inherits:
Object
  • Object
show all
Defined in:
lib/churn_vs_complexity/engine.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file_selector:, calculator:, serializer:, since:) ⇒ Engine

Returns a new instance of Engine.



5
6
7
8
9
10
# File 'lib/churn_vs_complexity/engine.rb', line 5

def initialize(file_selector:, calculator:, serializer:, since:)
  @file_selector = file_selector
  @calculator = calculator
  @serializer = serializer
  @since = since
end

Class Method Details

.concurrent(since:, complexity:, churn:, serializer: Normal::Serializer::None, file_selector: FileSelector::Any) ⇒ Object



18
19
20
# File 'lib/churn_vs_complexity/engine.rb', line 18

def self.concurrent(since:, complexity:, churn:, serializer: Normal::Serializer::None, file_selector: FileSelector::Any)
  Engine.new(since:, file_selector:, serializer:, calculator: ConcurrentCalculator.new(complexity:, churn:))
end

Instance Method Details

#check(folder:) ⇒ Object



12
13
14
15
16
# File 'lib/churn_vs_complexity/engine.rb', line 12

def check(folder:)
  files = @file_selector.select_files(folder)
  result = @calculator.calculate(folder:, files:, since: @since)
  @serializer.serialize(result)
end