diff options
Diffstat (limited to 'app/models/invite.rb')
-rw-r--r-- | app/models/invite.rb | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/app/models/invite.rb b/app/models/invite.rb index fe2322462..29d25eae8 100644 --- a/app/models/invite.rb +++ b/app/models/invite.rb @@ -12,20 +12,23 @@ # created_at :datetime not null # updated_at :datetime not null # autofollow :boolean default(FALSE), not null +# comment :text # class Invite < ApplicationRecord include Expireable - belongs_to :user + belongs_to :user, inverse_of: :invites has_many :users, inverse_of: :invite scope :available, -> { where(expires_at: nil).or(where('expires_at >= ?', Time.now.utc)) } + validates :comment, length: { maximum: 420 } + before_validation :set_code def valid_for_use? - (max_uses.nil? || uses < max_uses) && !expired? + (max_uses.nil? || uses < max_uses) && !expired? && !(user.nil? || user.disabled?) end private |