1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
module Expirable extend ActiveSupport::Concern included do scope :expired, -> { where('expires_at <= ?', Time.current) } end def expires? expires_at.present? end def expires_soon? expires_at < 7.days.from_now end end