Class: ProxyTicket

Inherits:
Object
  • Object
show all
Defined in:
lib/proxy_ticket.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(service_url) ⇒ ProxyTicket

Returns a new instance of ProxyTicket.



15
16
17
# File 'lib/proxy_ticket.rb', line 15

def initialize(service_url)
  @service_url = service_url
end

Class Method Details

.expire_timeObject



10
11
12
# File 'lib/proxy_ticket.rb', line 10

def expire_time
  300
end

.validate!(ticket, store) ⇒ Object



3
4
5
6
7
8
# File 'lib/proxy_ticket.rb', line 3

def validate!(ticket, store)
  if service_url = store[ticket]
    store.del ticket
    new(service_url)
  end
end

Instance Method Details

#remaining_time(store) ⇒ Object



27
28
29
# File 'lib/proxy_ticket.rb', line 27

def remaining_time(store)
  store.ttl ticket
end

#save!(store) ⇒ Object



31
32
33
34
# File 'lib/proxy_ticket.rb', line 31

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

#ticketObject



23
24
25
# File 'lib/proxy_ticket.rb', line 23

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

#valid_for_service?(url) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/proxy_ticket.rb', line 19

def valid_for_service?(url)
  @service_url == url
end