Skip to content
Browse files

Support keys as symbols when expiring cache

Correct me if I'm wrong but a cached value can be set using either a String and a Symbol. In other words:

  cache(:something, 'some value')

is the same as:

  cache ('something', 'some value')

I don't know if there's a particular reason not to use Symbols but if you're trying to expire a cached value created using a Symbol key you get an error unless there's an URL on the controller that matches that key, in which case it's even worse since that's not what you're trying to achieve when deleting that key.

I'm attaching a simple patch to support both Symbols and Strings.

Let me know if it should be like that or I'm just missing something.

Thanks
  • Loading branch information...
1 parent 12fd54d commit e4cdfe4da0b2d40a44b8573e57709191a74783ab Darío Javier Cravero committed
Showing with 1 addition and 1 deletion.
  1. +1 −1 padrino-cache/lib/padrino-cache/helpers/cache_store.rb
View
2 padrino-cache/lib/padrino-cache/helpers/cache_store.rb
@@ -5,7 +5,7 @@ module CacheStore # @private
# @api private
def expire(*key)
- if key.size == 1 and key.first.is_a?(String)
+ if key.size == 1 and (key.first.is_a?(String) or key.first.is_a?(Symbol))
settings.cache.delete(key.first)
else
settings.cache.delete(self.class.url(*key))

0 comments on commit e4cdfe4

Please sign in to comment.
Something went wrong with that request. Please try again.