Class: EzClient::PersistentClient

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/ezclient/persistent_client.rb

Instance Method Summary collapse

Constructor Details

#initialize(origin, keep_alive_timeout) ⇒ PersistentClient

Returns a new instance of PersistentClient.



8
9
10
11
12
# File 'lib/ezclient/persistent_client.rb', line 8

def initialize(origin, keep_alive_timeout)
  self.origin = origin
  self.keep_alive_timeout = keep_alive_timeout
  self.last_request_at = nil
end

Instance Method Details

#perform(*args) ⇒ Object



14
15
16
17
18
# File 'lib/ezclient/persistent_client.rb', line 14

def perform(*args)
  http_client.perform(*args).tap do
    self.last_request_at = EzClient.get_time
  end
end

#timed_out?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/ezclient/persistent_client.rb', line 20

def timed_out?
  last_request_at && EzClient.get_time - last_request_at >= keep_alive_timeout
end