class EtFakeCcd::RequestStoreService::InMemoryAdapter
Constants
- TTL
Attributes
data[RW]
Public Class Methods
new()
click to toggle source
# File lib/et_fake_ccd/request_store_service.rb, line 27 def initialize self.data = {} end
Public Instance Methods
count(request_id)
click to toggle source
# File lib/et_fake_ccd/request_store_service.rb, line 37 def count(request_id) expire_old_requests(request_id) return 0 if data[request_id].nil? data[request_id].length end
store(request_id)
click to toggle source
# File lib/et_fake_ccd/request_store_service.rb, line 31 def store(request_id) expire_old_requests(request_id) data[request_id] ||= [] data[request_id] << Time.now.utc end
Private Instance Methods
expire_old_requests(request_id)
click to toggle source
# File lib/et_fake_ccd/request_store_service.rb, line 48 def expire_old_requests(request_id) return unless data.key?(request_id) && data[request_id].length > 0 last_request = data[request_id].max if (Time.now - last_request) > TTL data[request_id].clear end end