Class: PricingPlans::PeriodCalculator

Inherits:
Object
  • Object
show all
Defined in:
lib/pricing_plans/period_calculator.rb

Class Method Summary collapse

Class Method Details

.window_for(plan_owner, limit_key) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/pricing_plans/period_calculator.rb', line 6

def window_for(plan_owner, limit_key)
  plan = PlanResolver.effective_plan_for(plan_owner)
  limit_config = plan&.limit_for(limit_key)

  period_type = determine_period_type(limit_config)
  calculate_window_for_period(plan_owner, period_type)
end

.window_for_period_type(plan_owner, period_type) ⇒ Object

Calculate window with pre-resolved period_type to avoid redundant plan lookups. Used by StatusContext which has already resolved the limit config.



16
17
18
# File 'lib/pricing_plans/period_calculator.rb', line 16

def window_for_period_type(plan_owner, period_type)
  calculate_window_for_period(plan_owner, period_type)
end