Class: SessionValidator::CachedClient
- Inherits:
-
Object
- Object
- SessionValidator::CachedClient
- Defined in:
- lib/session_validator/cached_client.rb
Instance Method Summary collapse
- #filter_invalid(msids) ⇒ Object
-
#initialize(client, cache) ⇒ CachedClient
constructor
A new instance of CachedClient.
- #valid?(msid) ⇒ Boolean
Constructor Details
#initialize(client, cache) ⇒ CachedClient
Returns a new instance of CachedClient.
3 4 5 6 |
# File 'lib/session_validator/cached_client.rb', line 3 def initialize(client, cache) @client = client @cache = cache end |
Instance Method Details
#filter_invalid(msids) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/session_validator/cached_client.rb', line 19 def filter_invalid(msids) @cache.cleanup @client.filter_invalid(msids).tap do |result| msids.each do |msid| @cache.set msid, true unless result.include?(msid) end end end |
#valid?(msid) ⇒ Boolean
8 9 10 11 12 13 14 15 16 17 |
# File 'lib/session_validator/cached_client.rb', line 8 def valid?(msid) @cache.cleanup cached_result = @cache.get msid return cached_result if cached_result @client.valid?(msid).tap do |result| @cache.set msid, result if result end end |