Class: Accountability::Coupon

Inherits:
ApplicationRecord show all
Defined in:
app/models/accountability/coupon.rb

Overview

rubocop:disable Rails/HasAndBelongsToMany

Instance Method Summary collapse

Methods inherited from ApplicationRecord

validates_attributes

Instance Method Details

#active?Boolean

Returns:

  • (Boolean)


16
17
18
19
20
21
# File 'app/models/accountability/coupon.rb', line 16

def active?
  return false if activation_date.blank?
  return false if expired?

  activation_date.past?
end

#expired?Boolean

Returns:

  • (Boolean)


23
24
25
26
27
28
# File 'app/models/accountability/coupon.rb', line 23

def expired?
  return false if expiration_date.blank?
  return false if terminated?

  expiration_date.past?
end

#terminated?Boolean

Returns:

  • (Boolean)


30
31
32
33
34
# File 'app/models/accountability/coupon.rb', line 30

def terminated?
  return false if termination_date.blank?

  termination_date.past?
end

#usable?Boolean

Returns:

  • (Boolean)


10
11
12
13
14
# File 'app/models/accountability/coupon.rb', line 10

def usable?
  return false if used_up?

  active?
end

#used_up?Boolean

Returns:

  • (Boolean)


36
37
38
39
40
# File 'app/models/accountability/coupon.rb', line 36

def used_up?
  return false if limit.nil?

  discounts.count >= limit
end