Closed
Description
An attempt to address #316
What?
- Create a cache store
Adapter
interface, that defines which are the minimal set of methods that rack-attack needs to function properly. - Transform existing proxies into adapters, which implement the defined
Adapter
interface. E.g. "redis adapter", "memcache adapter".
Why?
End users benefits
- More clear on what and what not to expect when reading/accessing
Rack::Attack.cache.store
- Less confusion when configuring rack-attack cache store backend
- Less friction to introduce new cache store backends
- Well-defined interface eases development and testing of new adapters
- plus is easier for anyone to code and release new adapter as separate gem if they want, instead of being forced to get approval upstream
Contributors & Maintainers benefits
- Easier to test
- Easier to debug cache store issues
- Easier to implement support for new cache store backends
- Better maintainability in general