class FileCacheUtil
Public Class Methods
delete(type, key)
click to toggle source
Calls superclass method
CacheUtil::delete
# File lib/cache_driver/file_cache_util.rb, line 62 def delete(type, key) super type, key dir = file_dir.join type_to_dir(type) return true unless Dir.exist? dir file_path = dir.join("#{key}.cache") return true unless File.exist? file_path File.delete file_path true end
read(type, key)
click to toggle source
Calls superclass method
CacheUtil::read
# File lib/cache_driver/file_cache_util.rb, line 17 def read(type, key) super type, key dir = file_dir.join type_to_dir(type) Dir.mkdir dir unless Dir.exist? dir file_path = dir.join("#{key}.cache") return nil unless File.exist? file_path file = File.new file_path, 'r' data_str = file.read.split(" --> ")[1] unless data_str puts "cache #{type} ##{key} data miss" return nil end data = JSON.parse data_str type_to_class(type).from_cache data end
read_all(type)
click to toggle source
Calls superclass method
CacheUtil::read_all
# File lib/cache_driver/file_cache_util.rb, line 37 def read_all(type) super type dir = file_dir.join type_to_dir(type) Dir.mkdir dir unless Dir.exist? dir dir_scaner = Dir.new dir data = [] dir_scaner.each do |file_name| file = File.new dir.join(file_name), 'r' next unless File.file?(file) and File.extname(file) == ".cache" data_str = file.read.split(" --> ")[1] unless data_str puts "cache #{type} ##{file_name} data miss" next end d = JSON.parse data_str data << type_to_class(type).from_cache(d) end data end
write(type, key, data)
click to toggle source
Calls superclass method
CacheUtil::write
# File lib/cache_driver/file_cache_util.rb, line 4 def write(type, key, data) super type, key, data dir = file_dir.join type_to_dir(type) Dir.mkdir dir unless Dir.exist? dir file = File.new dir.join("#{key}.cache"), 'w' file.puts "#{Time.now} --> #{data.to_cache.to_json}" file.close key end
Private Class Methods
file_dir()
click to toggle source
# File lib/cache_driver/file_cache_util.rb, line 75 def file_dir CacheDriver.config.file_dir end