module MethodCache::HelperMethods

Public Instance Methods

invalidate_cached_method(method_name, *args, &block) click to toggle source
# File lib/method_cache.rb, line 125
def invalidate_cached_method(method_name, *args, &block)
  cached_method(method_name, args).invalidate(&block)
end
method_cached_at(method_name, *args) click to toggle source
# File lib/method_cache.rb, line 137
def method_cached_at(method_name, *args)
  cached_method(method_name, args).cached_at
end
method_expires_at(method_name, *args) click to toggle source
# File lib/method_cache.rb, line 141
def method_expires_at(method_name, *args)
  cached_method(method_name, args).expires_at
end
method_value_cached?(method_name, *args) click to toggle source
# File lib/method_cache.rb, line 129
def method_value_cached?(method_name, *args)
  cached_method(method_name, args).cached?
end
update_cached_method(method_name, *args, &block) click to toggle source
# File lib/method_cache.rb, line 133
def update_cached_method(method_name, *args, &block)
  cached_method(method_name, args).update(&block)
end
without_method_cache(&block) click to toggle source
# File lib/method_cache.rb, line 145
def without_method_cache(&block)
  MethodCache.disable(&block)
end

Private Instance Methods

cached_method(method_name, args) click to toggle source
# File lib/method_cache.rb, line 151
def cached_method(method_name, args)
  if self.kind_of?(Class) or self.kind_of?(Module)
    proxy = cached_class_methods(method_name)
  else
    proxy = self.class.send(:cached_instance_methods, method_name)
  end
  raise "method '#{method_name}' not cached" unless proxy
  proxy.bind(self, args)
end