| Class | DesignTicket |
| In: |
app/models/design_ticket.rb
|
| Parent: | ActiveRecord::Base |
| MAX_LIFETIME | = | 60 * 60 |
管理者権限のあるユーザ user のログイン情報を記録し有効な ticket を発行する。 失敗した場合には false を返す。
# File app/models/design_ticket.rb, line 32
32: def self.give(user)
33: if user.admin?
34: token = (0...4).map {sprintf("%#xd", rand(65536))}.join('-')
35: ticket = new(:domain_id => user.domain_id, :user_id => user.id, :token => token)
36: return ticket if ticket.save
37: end
38: return false
39: end
ハッシュの情報に該当する有効な ticket を返す。 args[:invalidate] が真の場合にはその ticket を無効にする。 ticket が存在しない場合には単に false を返す。
# File app/models/design_ticket.rb, line 44
44: def self.take(args)
45: ticket = find_by_token(args[:token])
46: if (ticket &&
47: ticket.domain_id == args[:domain_id] &&
48: ticket.user_id == args[:user_id])
49: if !args[:invalidate] || ticket.destroy
50: return ticket
51: end
52: end
53: return false
54: end