class SessionValidator::CachedClient

Public Class Methods

new(client, cache) click to toggle source
# File lib/session_validator/cached_client.rb, line 3
def initialize(client, cache)
  @client = client
  @cache = cache
end

Public Instance Methods

filter_invalid(msids) click to toggle source
# 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) click to toggle source
# 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