module Lite::Regulation::Expiration

Public Instance Methods

expire!() click to toggle source

rubocop:enable Style/Lambda

# File lib/lite/regulation/expiration.rb, line 20
def expire!
  return true if expires_at.nil?

  update(expires_at: nil)
end
expired?() click to toggle source
# File lib/lite/regulation/expiration.rb, line 26
def expired?
  return true if expires_at.nil?

  Lite::Regulation::Base.timestamp >= expires_at
end
expires_at_or_time(amount = nil) click to toggle source
# File lib/lite/regulation/expiration.rb, line 48
def expires_at_or_time(amount = nil)
  return expires_at if unexpired?

  extension_date(amount)
end
extend!(amount = nil) click to toggle source
# File lib/lite/regulation/expiration.rb, line 32
def extend!(amount = nil)
  update(expires_at: extension_date(amount))
end
to_expiration() click to toggle source
# File lib/lite/regulation/expiration.rb, line 54
def to_expiration
  I18n.t("lite.regulation.expiration.#{:un if unexpired?}expired")
end
unexpire!() click to toggle source
# File lib/lite/regulation/expiration.rb, line 36
def unexpire!
  return true unless expires_at.nil?

  update(expires_at: extension_date)
end
unexpired?() click to toggle source
# File lib/lite/regulation/expiration.rb, line 42
def unexpired?
  return false if expires_at.nil?

  Lite::Regulation::Base.timestamp < expires_at
end

Private Instance Methods

extension_date(amount = nil) click to toggle source
# File lib/lite/regulation/expiration.rb, line 60
def extension_date(amount = nil)
  amount ||= 30
  return amount unless amount.is_a?(Integer)

  Lite::Regulation::Base.timestamp + amount
end