class FastSerializer::Cache::ActiveSupportCache

ActiveSupport compatible cache implementation.

Attributes

cache[R]

Public Class Methods

new(cache) click to toggle source
# File lib/fast_serializer/cache/active_support_cache.rb, line 8
def initialize(cache)
  @cache = cache
end

Public Instance Methods

fetch(serializer, ttl) { |serializer| ... } click to toggle source
# File lib/fast_serializer/cache/active_support_cache.rb, line 12
def fetch(serializer, ttl)
  @cache.fetch(serializer.cache_key, :expires_in => ttl) do
    yield(serializer)
  end
end
fetch_all(serializers, ttl) { |serializer| ... } click to toggle source
# File lib/fast_serializer/cache/active_support_cache.rb, line 18
def fetch_all(serializers, ttl)
  results = @cache.fetch_multi(*serializers){|serializer| yield(serializer)}
  if results.is_a?(Hash)
    serializers.collect{|serializer| results[serializer]}
  else
    results
  end
end