lib/zypper/onlinesearch/cache.rb in zypper-onlinesearch-1.0.0 vs lib/zypper/onlinesearch/cache.rb in zypper-onlinesearch-1.1.0
- old
+ new
@@ -1,54 +1,51 @@
-require 'fileutils'
-require 'uri'
+# frozen_string_literal: true
+require "fileutils"
+require "uri"
+
module Zypper
module Onlinesearch
-
+ #
+ # Handles the cached data.
+ #
class Cache
-
def initialize(operation, engine)
- @base_folder = File.join(ENV['HOME'], '.cache', 'zypper-onlinesearch', engine, operation)
- FileUtils.mkdir_p @base_folder unless Dir.exists? @base_folder
+ @base_folder = File.join(Dir.home, ".cache", "zypper-onlinesearch", engine, operation)
+ FileUtils.mkdir_p @base_folder
end
def set(query, response)
- File.open(File.join(@base_folder, query_to_filename(query)), 'w+') do |f|
- f.write Marshal.dump(response)
- end
+ File.write(File.join(@base_folder, query_to_filename(query)), Marshal.dump(response))
end
def get(query)
fname = query_to_filename(query)
- Marshal.load(File.read(File.join(@base_folder, fname))) if exists? query
+ Marshal.load(File.read(File.join(@base_folder, fname))) if exist? query
end
- def exists?(query)
- File.exists?(File.join(@base_folder, query_to_filename(query)))
+ def exist?(query)
+ File.exist?(File.join(@base_folder, query_to_filename(query)))
end
def self.reset!
- base_folder = File.join(ENV['HOME'], '.cache', 'zypper-onlinesearch')
- if Dir.exist? base_folder
- size = Dir.glob(File.join(base_folder, '**', '*')).map{ |f| File.size(f) }.inject(:+)
- FileUtils.remove_dir base_folder
- return size
- else
- raise EmptyCache
- end
+ base_folder = File.join(Dir.home, ".cache", "zypper-onlinesearch")
+ raise EmptyCache unless Dir.exist? base_folder
+
+ size = Dir.glob(File.join(base_folder, "**", "*")).map { |f| File.size(f) }.inject(:+)
+ FileUtils.remove_dir base_folder
+ size
end
def mtime(query)
fname = File.join(@base_folder, query_to_filename(query))
File.mtime(fname) if File.exist? fname
end
private
def query_to_filename(query)
- URI.encode query.delete('./')
+ URI.encode query.delete("./")
end
end
-
end
end
-