Class: PricingPlans::EnforcementState

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/pricing_plans/models/enforcement_state.rb

Instance Method Summary collapse

Instance Method Details

#blocked?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/pricing_plans/models/enforcement_state.rb', line 20

def blocked?
  blocked_at.present?
end

#exceeded?Boolean

Returns:

  • (Boolean)


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

def exceeded?
  exceeded_at.present?
end

#grace_ends_atObject



28
29
30
31
# File 'lib/pricing_plans/models/enforcement_state.rb', line 28

def grace_ends_at
  return nil unless exceeded_at && grace_period
  exceeded_at + grace_period
end

#grace_expired?Boolean

Returns:

  • (Boolean)


33
34
35
36
# File 'lib/pricing_plans/models/enforcement_state.rb', line 33

def grace_expired?
  return false unless grace_ends_at
  Time.current >= grace_ends_at
end

#in_grace?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/pricing_plans/models/enforcement_state.rb', line 24

def in_grace?
  exceeded? && !blocked?
end