class GitSme::Cache
Public Class Methods
new(name, enabled: true, directory: 'cache', file_prefix: '', file_suffix: '')
click to toggle source
# File lib/git_sme/cache.rb, line 7 def initialize(name, enabled: true, directory: 'cache', file_prefix: '', file_suffix: '') raise "Invalid cache name: [#{name}]" if name.nil? || name =~ /^\s+$/ @name = name.gsub(/[^a-zA-Z-]/, '').strip @enabled = enabled @cache_directory = File.join(PREFERENCES_HOME, directory) @file_prefix = file_prefix @file_suffix = file_suffix FileUtils.mkdir_p(@cache_directory) unless File.exist?(@cache_directory) end
Public Instance Methods
load()
click to toggle source
# File lib/git_sme/cache.rb, line 19 def load return [] unless @enabled && File.exist?(cache_filename) YAML.load(File.read(cache_filename)) end
save(data)
click to toggle source
# File lib/git_sme/cache.rb, line 25 def save(data) return unless @enabled File.open(cache_filename, 'w') { |f| f.write(YAML.dump(data)) } end
Private Instance Methods
cache_filename()
click to toggle source
# File lib/git_sme/cache.rb, line 45 def cache_filename filename = @name File.join(@cache_directory, "#{prefix}#{filename}#{suffix}.yml") end
prefix()
click to toggle source
# File lib/git_sme/cache.rb, line 33 def prefix return '' if @file_prefix =~ /^\s*$/ "#{@file_prefix}-" end
suffix()
click to toggle source
# File lib/git_sme/cache.rb, line 39 def suffix return '' if @file_suffix =~ /^\s*$/ "-#{@file_suffix}" end