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