Rails caching with observers