views:

74

answers:

1

I've just installed Memcached on my Mac and updated my Sinatra app configuration as described in Heroku's documentation, but I'm getting a NoMethodError when trying to use the hash-based syntax they specify:

>> CACHE['color'] = 'blue'
>> CACHE['color']

Using explicit get and set methods as below seems to work fine.

>> CACHE.set('color', 'blue')
>> CACHE.get('color')

If necessary I can use the latter syntax, but the former seems more elegant. I haven't tested this on Heroku's environment since I'd like whatever implementation I use to work on my local environment as well. Thanks!

+1  A: 

You could do this:

class << CACHE
  alias [] get
  alias []= set
end
Konstantin Haase
I would have expected this to have been defined already in the Memcached class, but generally speaking a useful tip. Thanks!
sevennineteen