Class: ChurnVsComplexity::Timetravel::Traveller
- Inherits:
-
Object
- Object
- ChurnVsComplexity::Timetravel::Traveller
- Defined in:
- lib/churn_vs_complexity/timetravel/traveller.rb
Instance Method Summary collapse
- #check(folder:) ⇒ Object
-
#initialize(git_period:, relative_period:, engine:, serializer:, jump_days:, factory:) ⇒ Traveller
constructor
A new instance of Traveller.
Constructor Details
#initialize(git_period:, relative_period:, engine:, serializer:, jump_days:, factory:) ⇒ Traveller
7 8 9 10 11 12 13 14 |
# File 'lib/churn_vs_complexity/timetravel/traveller.rb', line 7 def initialize(git_period:, relative_period:, engine:, serializer:, jump_days:, factory:) @relative_period = relative_period @engine = engine @jump_days = jump_days @serializer = serializer @git_period = git_period @factory = factory end |
Instance Method Details
#check(folder:) ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/churn_vs_complexity/timetravel/traveller.rb', line 16 def check(folder:) git_strategy = @factory.git_strategy(folder:) commits = git_strategy.resolve_commits_with_interval(git_period: @git_period, jump_days: @jump_days) chunked = make_chunks(commits) work_on(chunked:, folder:, git_strategy:) combined = chunked.map { |c_and_p| read_result(c_and_p[:pipe]) }.reduce({}, :merge) @serializer.serialize(combined) end |