trabajo-afectivo/app/models/token.rb

39 lines
698 B
Ruby
Raw Normal View History

2014-02-03 19:23:00 +00:00
# Copyright (C) 2012-2014 Zammad Foundation, http://zammad-foundation.org/
2012-04-23 06:55:16 +00:00
class Token < ActiveRecord::Base
before_create :generate_token
belongs_to :user
def self.check( data )
# fetch token
token = Token.find_by( action: data[:action], name: data[:name] )
2012-04-23 06:55:16 +00:00
return if !token
2012-04-23 06:55:16 +00:00
# check if token is still valid
if !token.persistent &&
token.created_at < 1.day.ago
2013-01-03 12:00:55 +00:00
2012-04-23 06:55:16 +00:00
# delete token
token.delete
token.save
return
end
2013-01-03 12:00:55 +00:00
2012-04-23 06:55:16 +00:00
# return token if valid
token.user
2012-04-23 06:55:16 +00:00
end
private
def generate_token
loop do
self.name = SecureRandom.hex(20)
break if !Token.exists?( name: name )
end
end
end