Class: StandardId::RateLimitStore

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

Overview

A delegating cache store for rate limiting that lazily resolves the backing store at request time. This allows the engine’s rate_limit declarations to work regardless of boot order, and respects the host app’s cache configuration.

Resolution order:

1. StandardId.config.cache_store (if it responds to :increment)
2. Rails.cache

Instance Method Summary collapse

Instance Method Details

#clear(**options) ⇒ Object



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

def clear(**options)
  resolve_store.clear(**options)
end

#delete(name, **options) ⇒ Object



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

def delete(name, **options)
  resolve_store.delete(name, **options)
end

#increment(name, amount = 1, **options) ⇒ Object



11
12
13
# File 'lib/standard_id/rate_limit_store.rb', line 11

def increment(name, amount = 1, **options)
  resolve_store.increment(name, amount, **options)
end

#read(name, **options) ⇒ Object



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

def read(name, **options)
  resolve_store.read(name, **options)
end

#write(name, value, **options) ⇒ Object



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

def write(name, value, **options)
  resolve_store.write(name, value, **options)
end