mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Refactor ActiveSupport::Cache::FileStore. used method and deleted duplicate code.
This commit is contained in:
parent
3e6ecfb454
commit
7670a5187d
1 changed files with 4 additions and 3 deletions
|
@ -14,6 +14,7 @@ module ActiveSupport
|
|||
|
||||
DIR_FORMATTER = "%03X"
|
||||
FILENAME_MAX_SIZE = 230 # max filename size on file system is 255, minus room for timestamp and random characters appended by Tempfile (used by atomic write)
|
||||
EXCLUDED_DIRS = ['.', '..'].freeze
|
||||
|
||||
def initialize(cache_path, options = nil)
|
||||
super(options)
|
||||
|
@ -22,7 +23,7 @@ module ActiveSupport
|
|||
end
|
||||
|
||||
def clear(options = nil)
|
||||
root_dirs = Dir.entries(cache_path).reject{|f| f.in?(['.', '..'])}
|
||||
root_dirs = Dir.entries(cache_path).reject{|f| f.in?(EXCLUDED_DIRS)}
|
||||
FileUtils.rm_r(root_dirs.collect{|f| File.join(cache_path, f)})
|
||||
end
|
||||
|
||||
|
@ -149,7 +150,7 @@ module ActiveSupport
|
|||
# Delete empty directories in the cache.
|
||||
def delete_empty_directories(dir)
|
||||
return if dir == cache_path
|
||||
if Dir.entries(dir).reject{|f| f.in?(['.', '..'])}.empty?
|
||||
if Dir.entries(dir).reject{|f| f.in?(EXCLUDED_DIRS)}.empty?
|
||||
File.delete(dir) rescue nil
|
||||
delete_empty_directories(File.dirname(dir))
|
||||
end
|
||||
|
@ -163,7 +164,7 @@ module ActiveSupport
|
|||
def search_dir(dir, &callback)
|
||||
return if !File.exist?(dir)
|
||||
Dir.foreach(dir) do |d|
|
||||
next if d == "." || d == ".."
|
||||
next if d.in?(EXCLUDED_DIRS)
|
||||
name = File.join(dir, d)
|
||||
if File.directory?(name)
|
||||
search_dir(name, &callback)
|
||||
|
|
Loading…
Reference in a new issue