Class: Dscf::Banking::Voucher

Inherits:
ApplicationRecord show all
Defined in:
app/models/dscf/banking/voucher.rb

Instance Method Summary collapse

Instance Method Details

#expired?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'app/models/dscf/banking/voucher.rb', line 33

def expired?
  expires_at.present? && expires_at <= Time.current
end

#expired_status?Boolean

Returns:

  • (Boolean)


45
46
47
# File 'app/models/dscf/banking/voucher.rb', line 45

def expired_status?
  status == "expired"
end

#fully_redeemed?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'app/models/dscf/banking/voucher.rb', line 37

def fully_redeemed?
  remaining_amount.to_f.zero?
end

#mark_expired!Object



41
42
43
# File 'app/models/dscf/banking/voucher.rb', line 41

def mark_expired!
  update!(status: :expired) if expired? && !expired_status?
end