Module: ChurnVsComplexity::GitDate
- Defined in:
- lib/churn_vs_complexity/git_date.rb
Defined Under Namespace
Classes: AbsoluteGitPeriod, NoStartGitPeriod
Class Method Summary
collapse
Class Method Details
.git_period(cli_arg_since, latest_commit_date) ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/churn_vs_complexity/git_date.rb', line 12
def self.git_period(cli_arg_since, latest_commit_date)
latest_commit_date = latest_commit_date.to_date
if cli_arg_since.nil?
NoStartGitPeriod.new(latest_commit_date)
elsif cli_arg_since.is_a?(Symbol)
AbsoluteGitPeriod.looking_back(relative_period: cli_arg_since, from: latest_commit_date)
elsif cli_arg_since.is_a?(String)
AbsoluteGitPeriod.between(cli_arg_since, latest_commit_date)
else
raise Error, "Unexpected since value #{cli_arg_since}"
end
end
|
.select_dates_with_at_least_interval(dates, interval) ⇒ Object
5
6
7
8
9
10
|
# File 'lib/churn_vs_complexity/git_date.rb', line 5
def self.select_dates_with_at_least_interval(dates, interval)
ds = dates.sort
ds.each_with_object([]) do |date, acc|
acc << date if acc.empty? || date - acc.last >= interval
end
end
|