This repository was archived by the owner on Jun 25, 2018. It is now read-only.
- Notifications
You must be signed in to change notification settings - Fork 3
A Ruby on Rails plugin for caching the output of parameterless methods
License
Notifications You must be signed in to change notification settings
humanzz/method_cache
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Latest commit | ||||
Repository files navigation
MethodCache =========== A Rails (v2.1.0) plugin that tries to solve the problem of having to call a method repetitively. That method is expensive to be recalculated everytime. The solution is to cache the method results and we've always done that by caching a method's result in instance variables. method_cache plugin frees you from the trouble of worrying about writing caching code and introduces a couple of utility methods in ActiveRecord objects that make your life easier. In its current form, the plugin provides the following extensions to ActiveRecord Objects caches_method :method_name caches_class_method :method_name and for expiring the cache instance.expire_method :method_name Class.expire_instance_method :method_name, id Class.expire_class_method :method_name Introducing the plugin blog entry ================================= http://humanzz.spaces.live.com/blog/cns!82322F9506CB0449!713.entry Setup ===== ruby script/plugin install git://github.com/humanzz/method_cache.git Examples ======== For caching instance methods class User < ActiveRecord::Base def costy_method #some real heavy calculation that takes alot of resources #to complete #this method is called regularly and its results rarely change end caches_method :costy_method end class User < ActiveRecord::Base def costy_method #some real heavy calculation that takes alot of resources #to complete #this method is called regularly and its results rarely change end caches_method :costy_method, :for => 20.minutes end class User < ActiveRecord::Base def costy_method #some real heavy calculation that takes alot of resources #to complete #this method is called regularly and its results rarely change end caches_method :costy_method, :until => :midnight end :until also accepts Time and date objects but I'm considering removing until or have it support things like :midnight because otherwise it would cause errors after the specified date or time have passed. To expire cached instance methods @user.expire_method :costy_method User.expire_instance_method :costy_method, user_id For caching class methods class User < ActiveRecord::Base def self.costy_class_method #some real heavy calculation that takes alot of resources #to complete #this method is called regularly and its results rarely change end caches_class_method :costy_class_method end caches_class_method also supports the :for and :until options To expire class methods User.expire_class_method :costy_class_method Test ==== rake test:plugins DB=sqlite3 Copyright (c) 2008 humanzz (Ahmed Sobhi), released under the MIT license
About
A Ruby on Rails plugin for caching the output of parameterless methods
Resources
License
Uh oh!
There was an error while loading. Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published