1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-19 13:19:39 +02:00
Maybe/app/models/invite_code.rb
Zach Gollwitzer eef4c2643b
Rubocop updates (#1118)
* Minimal code style enforcement

* Formatting and lint code updates (no change in functionality)
2024-08-23 10:06:24 -04:00

25 lines
465 B
Ruby

class InviteCode < ApplicationRecord
before_validation :generate_token, on: :create
class << self
def claim!(token)
if invite_code = find_by(token: token&.downcase)
invite_code.destroy!
true
end
end
def generate!
create!.token
end
end
private
def generate_token
loop do
self.token = SecureRandom.hex(4)
break token unless self.class.exists?(token: token)
end
end
end