Module: AnalyticsOps::Reports::Period
- Defined in:
- lib/analytics_ops/reports/period.rb,
sig/analytics_ops.rbs
Overview
Builds bounded GA4 date ranges for simple CLI and AI report requests.
Constant Summary collapse
- DEFAULT_DAYS =
28- MAX_DAYS =
1_825- ISO_DATE =
/\A\d{4}-\d{2}-\d{2}\z/
Class Method Summary collapse
Class Method Details
.resolve(last_days: nil, start_date: nil, end_date: nil, compare: false) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/analytics_ops/reports/period.rb', line 15 def resolve(last_days: nil, start_date: nil, end_date: nil, compare: false) validate_compare!(compare) validate_combination!(last_days:, start_date:, end_date:) return nil if last_days.nil? && start_date.nil? && !compare if start_date absolute_ranges(start_date:, end_date:, compare:) else relative_ranges(last_days || DEFAULT_DAYS, compare) end end |