diff options
author | ThibG <thib@sitedethib.com> | 2018-07-10 10:52:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-10 10:52:18 +0200 |
commit | e6647ccf6d13030a91c7e635526e1e40a059ce31 (patch) | |
tree | eda07c40c934ab9a55d7847afe4af3e54bce86b8 /app/models/invite.rb | |
parent | c699b2d141d7aa910bd81ae5fe881ecec7039395 (diff) | |
parent | 402da8065c2b378cca6361f2c7252bd766f25dde (diff) |
Merge pull request #557 from ThibG/glitch-soc/tentative-merge
Merge upstream changes
Diffstat (limited to 'app/models/invite.rb')
-rw-r--r-- | app/models/invite.rb | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/app/models/invite.rb b/app/models/invite.rb index d0cc427c4..fe2322462 100644 --- a/app/models/invite.rb +++ b/app/models/invite.rb @@ -15,33 +15,19 @@ # class Invite < ApplicationRecord + include Expireable + belongs_to :user has_many :users, inverse_of: :invite scope :available, -> { where(expires_at: nil).or(where('expires_at >= ?', Time.now.utc)) } - scope :expired, -> { where.not(expires_at: nil).where('expires_at < ?', Time.now.utc) } before_validation :set_code - attr_reader :expires_in - - def expires_in=(interval) - self.expires_at = interval.to_i.seconds.from_now unless interval.blank? - @expires_in = interval - end - def valid_for_use? (max_uses.nil? || uses < max_uses) && !expired? end - def expire! - touch(:expires_at) - end - - def expired? - !expires_at.nil? && expires_at < Time.now.utc - end - private def set_code |