Module: Lite::Regulations::Expiration

Extended by:
ActiveSupport::Concern
Defined in:
lib/lite/regulations/expiration.rb

Instance Method Summary collapse

Instance Method Details

#default_expires_inObject

rubocop:enable Style/Lambda



20
21
22
# File 'lib/lite/regulations/expiration.rb', line 20

def default_expires_in
  30.minutes
end

#expire!Object



24
25
26
27
28
# File 'lib/lite/regulations/expiration.rb', line 24

def expire!
  return true if expires_at.nil?

  update(expires_at: nil)
end

#expired?Boolean

Returns:

  • (Boolean)


30
31
32
33
34
# File 'lib/lite/regulations/expiration.rb', line 30

def expired?
  return true if expires_at.nil?

  Lite::Regulations::Base.timestamp >= expires_at
end

#expires_at_or_time(expires_in = nil) ⇒ Object



52
53
54
55
56
# File 'lib/lite/regulations/expiration.rb', line 52

def expires_at_or_time(expires_in = nil)
  return expires_at if unexpired?

  extension_date(expires_in)
end

#extend!(expires_in = nil) ⇒ Object



36
37
38
# File 'lib/lite/regulations/expiration.rb', line 36

def extend!(expires_in = nil)
  update(expires_at: extension_date(expires_in))
end

#to_expirationObject



58
59
60
# File 'lib/lite/regulations/expiration.rb', line 58

def to_expiration
  I18n.t("lite.regulations.expiration.#{:un if unexpired?}expired")
end

#unexpire!Object



40
41
42
43
44
# File 'lib/lite/regulations/expiration.rb', line 40

def unexpire!
  return true unless expires_at.nil?

  update(expires_at: extension_date)
end

#unexpired?Boolean

Returns:

  • (Boolean)


46
47
48
49
50
# File 'lib/lite/regulations/expiration.rb', line 46

def unexpired?
  return false if expires_at.nil?

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