Class: SharedBroker::Middlewares::Idempotency::MemoryStore

Inherits:
Object
  • Object
show all
Defined in:
lib/shared_broker/middlewares/idempotency.rb

Instance Method Summary collapse

Constructor Details

#initializeMemoryStore

Returns a new instance of MemoryStore.



7
8
9
# File 'lib/shared_broker/middlewares/idempotency.rb', line 7

def initialize
  @store = {}
end

Instance Method Details

#exists?(key) ⇒ Boolean

Returns:

  • (Boolean)


11
12
13
14
# File 'lib/shared_broker/middlewares/idempotency.rb', line 11

def exists?(key)
  prune
  @store.key?(key)
end

#pruneObject



20
21
22
23
# File 'lib/shared_broker/middlewares/idempotency.rb', line 20

def prune
  now = Time.now
  @store.delete_if { |_, expiry| expiry < now }
end

#write(key, value, expires_in: 3600) ⇒ Object



16
17
18
# File 'lib/shared_broker/middlewares/idempotency.rb', line 16

def write(key, value, expires_in: 3600)
  @store[key] = Time.now + expires_in
end