Sha256: aec4e68428c4d654fb85bb43b2f7b5f436711eb037acb9c0d29a27e0a889dd2c

Contents?: true

Size: 515 Bytes

Versions: 3

Compression:

Stored size: 515 Bytes

Contents

class LoginTicket
  class << self
    def validate!(ticket, store)
      if store.exists ticket
        store.del ticket
        new
      end
    end
    
    def create!(store)
      lt =  self.new
      lt.save!(store)
      lt
    end

    def expire_time
      300
    end
  end

  def ticket
    @ticket ||= "LT-#{rand(100000000000000000)}".to_s
  end

  def remaining_time(store)
    store.ttl ticket
  end


  def save!(store)
    store[ticket] = 1
    store.expire ticket, self.class.expire_time
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
classy_cas-0.9.3 lib/login_ticket.rb
classy_cas-0.9.2 lib/login_ticket.rb
classy_cas-0.9.1 lib/login_ticket.rb