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 -