chuckya/app/models/concerns/expireable.rb
Eugen Rochko 9f5b55ad4f
Fix poll update handler calling method was that was not available (#10246)
* Fix poll update handler calling method was that was not available

Fix regression from #10209

* Refactor VoteService

* Refactor ActivityPub::DistributePollUpdateWorker and optimize it

* Fix typo

* Fix typo
2019-03-12 22:58:59 +01:00

28 lines
544 B
Ruby

# frozen_string_literal: true
module Expireable
extend ActiveSupport::Concern
included do
scope :expired, -> { where.not(expires_at: nil).where('expires_at < ?', Time.now.utc) }
attr_reader :expires_in
def expires_in=(interval)
self.expires_at = interval.to_i.seconds.from_now if interval.present?
@expires_in = interval
end
def expire!
touch(:expires_at)
end
def expired?
expires? && expires_at < Time.now.utc
end
def expires?
!expires_at.nil?
end
end
end