21 lines
450 B
Ruby
21 lines
450 B
Ruby
|
class Candidate < ApplicationRecord
|
||
|
has_many :answers
|
||
|
belongs_to :recruiter, class_name: "User"
|
||
|
|
||
|
before_create :generate_test_hash
|
||
|
|
||
|
validates_presence_of :recruiter_id
|
||
|
validates_presence_of :test_hash
|
||
|
validates_uniqueness_of :test_hash
|
||
|
|
||
|
private
|
||
|
|
||
|
def generate_test_hash
|
||
|
loop do
|
||
|
self[:test_hash] = SecureRandom.urlsafe_base64(8)
|
||
|
|
||
|
break unless Candidate.exists?(test_hash: self[:test_hash])
|
||
|
end
|
||
|
end
|
||
|
end
|