Skip to content

Instantly share code, notes, and snippets.

@tcocca
Created May 3, 2010 19:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save tcocca/388482 to your computer and use it in GitHub Desktop.
Save tcocca/388482 to your computer and use it in GitHub Desktop.
class Post < ActiveRecord::Base
has_many :authors
has_many :post_comments
attr_accessor :post_authors_cache, :post_comments_cache
def post_authors
@post_authors_cache ||= begin
process_post
@post_authors_cache
end
end
def post_comments
process_post if post_comments_cache.nil?
post_comments_cache
end
private
def process_post
#do some crazy stuff here and set the post_authors_cache
# some loop where you set two things and only loop through once
self.post_authors_cache = {}
self.post_comments_cache = {}
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment