Module: ChurnVsComplexity::Timetravel::SinceValidator

Defined in:
lib/churn_vs_complexity/timetravel.rb

Class Method Summary collapse

Class Method Details

.validate!(since:) ⇒ Object

Raises:



32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/churn_vs_complexity/timetravel.rb', line 32

def self.validate!(since:)
  # since can be nil, a date string or a keyword (:month, :quarter, :year)
  return if since.nil?

  raise ValidationError, "Invalid since value #{since}" unless since.is_a?(String)

  begin
    Date.strptime(since, '%Y-%m-%d')
  rescue Date::Error
    raise ValidationError, "Invalid date #{since}, please use correct format, YYYY-MM-DD"
  end
end