class MyCachedModel < ActiveRecord::Base class << self alias_method :rails_original_find_by_sql, :find_by_sql def find_by_sql(sql) cache_filename = Base64.encode64(sql) if File.exists? cache_filename Marshal.load(File.open(cache_filename)) else Marshal.dump(records = rails_original_find_by_sql(sql), File.open(cache_filename, 'w')) return records end end end end
You need to create an account or log in to post comments to this site.