lib/autobots/helpers/caching.rb in autobots-0.2.0 vs lib/autobots/helpers/caching.rb in autobots-0.2.1
- old
+ new
@@ -11,11 +11,11 @@
def self.prepended(klass)
klass.class_eval do
class_attribute :cache
end
end
-
+
def data
return @data if defined?(@data)
if cache
key_proc = options.fetch(:cache_key) do
@@ -36,11 +36,16 @@
@data
end
protected
+ def serializer_cache_key
+ return @serializer_cache_key if defined?(@serializer_cache_key)
+ @serializer_cache_key = [serializer.name, Digest::SHA256.hexdigest(serializer._attributes.keys.to_s)[0..12]]
+ end
+
def cache_key(object, _)
- [object.cache_key, serializer.name, 'serializable-hash']
+ [object.cache_key, *self.serializer_cache_key, 'serializable-hash']
end
end
end
end
\ No newline at end of file