module ActiveRegulation::Expiration

Public Instance Methods

expire!() click to toggle source
# File lib/active_regulation/expiration.rb, line 12
def expire!
  update(expires_at: nil) unless expires_at.nil?
end
expired?() click to toggle source
# File lib/active_regulation/expiration.rb, line 24
def expired?
  expires_at.nil? ? true : (Time.current >= expires_at)
end
expires_at_or_time(amount = nil) click to toggle source
# File lib/active_regulation/expiration.rb, line 32
def expires_at_or_time(amount = nil)
  expired? ? extension_date(amount) : expires_at
end
extend!(amount = nil) click to toggle source
# File lib/active_regulation/expiration.rb, line 16
def extend!(amount = nil)
  update(expires_at: extension_date(amount))
end
to_expiration() click to toggle source
# File lib/active_regulation/expiration.rb, line 36
def to_expiration
  I18n.t("active_regulation.expiration.#{expired? ? :expired : :unexpired}")
end
unexpire!() click to toggle source
# File lib/active_regulation/expiration.rb, line 20
def unexpire!
  update(expires_at: extension_date) if expires_at.nil?
end
unexpired?() click to toggle source
# File lib/active_regulation/expiration.rb, line 28
def unexpired?
  expires_at.nil? ? false : (Time.current < expires_at)
end

Private Instance Methods

extension_date(time = nil) click to toggle source
# File lib/active_regulation/expiration.rb, line 42
def extension_date(time = nil)
  time = 30 if time.nil?

  time.is_a?(Integer) ? (Time.current + time) : time
end