X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=vendor%2Frails%2Factivesupport%2Flib%2Factive_support%2Fcache%2Ffile_store.rb;fp=vendor%2Frails%2Factivesupport%2Flib%2Factive_support%2Fcache%2Ffile_store.rb;h=0000000000000000000000000000000000000000;hb=36d9f3351a3b4e8159279445190e2287ffdea86c;hp=7f34cb52a12ab3ff89dc86b3306bdf03e4421c8b;hpb=913cf6054b1d29b5d2f5e620304af7ee77cc1f1f;p=feedcatcher.git diff --git a/vendor/rails/activesupport/lib/active_support/cache/file_store.rb b/vendor/rails/activesupport/lib/active_support/cache/file_store.rb deleted file mode 100644 index 7f34cb5..0000000 --- a/vendor/rails/activesupport/lib/active_support/cache/file_store.rb +++ /dev/null @@ -1,72 +0,0 @@ -module ActiveSupport - module Cache - # A cache store implementation which stores everything on the filesystem. - class FileStore < Store - attr_reader :cache_path - - def initialize(cache_path) - @cache_path = cache_path - end - - def read(name, options = nil) - super - File.open(real_file_path(name), 'rb') { |f| Marshal.load(f) } rescue nil - end - - def write(name, value, options = nil) - super - ensure_cache_path(File.dirname(real_file_path(name))) - File.atomic_write(real_file_path(name), cache_path) { |f| Marshal.dump(value, f) } - value - rescue => e - logger.error "Couldn't create cache directory: #{name} (#{e.message})" if logger - end - - def delete(name, options = nil) - super - File.delete(real_file_path(name)) - rescue SystemCallError => e - # If there's no cache, then there's nothing to complain about - end - - def delete_matched(matcher, options = nil) - super - search_dir(@cache_path) do |f| - if f =~ matcher - begin - File.delete(f) - rescue SystemCallError => e - # If there's no cache, then there's nothing to complain about - end - end - end - end - - def exist?(name, options = nil) - super - File.exist?(real_file_path(name)) - end - - private - def real_file_path(name) - '%s/%s.cache' % [@cache_path, name.gsub('?', '.').gsub(':', '.')] - end - - def ensure_cache_path(path) - FileUtils.makedirs(path) unless File.exist?(path) - end - - def search_dir(dir, &callback) - Dir.foreach(dir) do |d| - next if d == "." || d == ".." - name = File.join(dir, d) - if File.directory?(name) - search_dir(name, &callback) - else - callback.call name - end - end - end - end - end -end