page_cache.rb
上传用户:netsea168
上传日期:2022-07-22
资源大小:4652k
文件大小:2k
源码类别:

Ajax

开发平台:

Others

  1. class PageCache
  2.   def self.logger
  3.     RAILS_DEFAULT_LOGGER
  4.   end
  5.   def logger
  6.     RAILS_DEFAULT_LOGGER
  7.   end
  8.   def self.public_path
  9.     ActionController::Base.page_cache_directory
  10.   end
  11.   # Delete all file save in path_cache by page_cache system
  12.   def self.sweep_all
  13.     if ActiveRecord::Base.connection.table_exists?(:cache_informations)
  14.       CacheInformation.all.each{|c| c.destroy}
  15.     else
  16.       logger.debug "PageCache - OOOOPS table is missing"
  17.     end
  18.     self.sweep_theme_cache
  19.   end
  20.   def self.sweep_theme_cache
  21.     self.zap_pages(%w{images/theme/* stylesheets/theme/* javascripts/theme/*})
  22.   end
  23.   def self.zap_pages(paths)
  24.     srcs = paths.inject([]) { |o,v|
  25.       o + Dir.glob(public_path + "/#{v}")
  26.     }
  27.     return true if srcs.empty?
  28.     trash = RAILS_ROOT + "/tmp/typodel.#{UUID.random_create}"
  29.     FileUtils.makedirs(trash)
  30.     FileUtils.mv(srcs, trash, :force => true)
  31.     FileUtils.rm_rf(trash)
  32.   end
  33.   # DEPRECATED
  34.   #
  35.   # It's now deprecated. It's use only in migration
  36.   # (20090311160502_create_cache_informations.rb)
  37.   # Doesn't use anyway. The cache is now manage by CacheInformation
  38.   # Method to swepp_all cache is allways self.sweep_all
  39.   #
  40.   # DEPRECATED
  41.   def self.old_sweep_all
  42.     logger.debug "PageCache - sweep_all called by #{caller[1].inspect}"
  43.     unless Blog.default.nil?
  44.       self.zap_pages(%w{index.* articles.* pages page
  45.                      pages.* feedback feedback.*
  46.                      comments comments.*
  47.                      category categories.* xml
  48.                      sitemap.xml
  49.                      *.rss *.atom
  50.                      tag tags.* category archives.*})
  51.       self.zap_pages((1990..2020))
  52.       self.zap_pages([*1990..2020].collect { |y| "#{y}.*" })
  53.     end
  54.   end
  55. end