Sha256: b11c898eec534713c520f5406f963cf08c31de91508013b039280bd1eeb92c49

Contents?: true

Size: 1.42 KB

Versions: 5

Compression:

Stored size: 1.42 KB

Contents

module Castronaut
  module Models

    class TicketGrantingTicket < ActiveRecord::Base
      include Castronaut::Models::Consumeable
      include Castronaut::Models::Dispenser

      has_many :service_tickets, :dependent => :destroy

      before_validation :dispense_ticket, :if => :new_record?
      validates_presence_of :ticket, :username

      def self.validate_cookie(ticket_cookie)
        Castronaut.logger.debug("#{self} - Validating ticket for #{ticket_cookie}")

        return Castronaut::TicketResult.new(nil, "No ticket granting ticket given", 'warn') if ticket_cookie.nil?

        ticket_granting_ticket = find_by_ticket(ticket_cookie)

        if ticket_granting_ticket
          Castronaut.logger.debug("#{self} -[#{ticket_cookie}] for [#{ticket_granting_ticket.username}] successfully validated.")
          return Castronaut::TicketResult.new(ticket_granting_ticket, "Your session has expired. Please log in again.", 'warn') if ticket_granting_ticket.expired?
        else
          Castronaut.logger.debug("#{self} - [#{ticket_cookie}] was not found in the database.")
        end

        Castronaut::TicketResult.new(ticket_granting_ticket)
      end

      def self.generate_for(username, client_host)
        create! :username => username, :client_hostname => client_host
      end
      
      def ticket_prefix
        "TGC"
      end
      
      def proxies
      end

      def to_cookie

      end

    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
relevance-castronaut-0.2.0 lib/castronaut/models/ticket_granting_ticket.rb
relevance-castronaut-0.2.5 lib/castronaut/models/ticket_granting_ticket.rb
relevance-castronaut-0.3.0 lib/castronaut/models/ticket_granting_ticket.rb
relevance-castronaut-0.3.5 lib/castronaut/models/ticket_granting_ticket.rb
relevance-castronaut-0.3.6 lib/castronaut/models/ticket_granting_ticket.rb