Method: Devise::TokenGenerator#generate

Defined in:
lib/devise/token_generator.rb

#generate(klass, column) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/devise/token_generator.rb', line 16

def generate(klass, column)
  key = key_for(column)

  loop do
    raw = Devise.friendly_token
    enc = OpenSSL::HMAC.hexdigest(@digest, key, raw)
    break [raw, enc] unless klass.to_adapter.find_first({ column => enc })
  end
end