module EacLauncher::Instances::Base::Cache
Public Instance Methods
cache_key(key) { || ... }
click to toggle source
# File lib/eac_launcher/instances/base/cache.rb, line 11 def cache_key(key, &block) v = cache_key_get(key) return v if v.present? || block.nil? v = yield cache_key_write(key, v) v end
cache_path(subpath)
click to toggle source
# File lib/eac_launcher/instances/base/cache.rb, line 7 def cache_path(subpath) File.join(cache_root, subpath) end
Private Instance Methods
cache_key_get(key)
click to toggle source
# File lib/eac_launcher/instances/base/cache.rb, line 22 def cache_key_get(key) File.file?(cache_key_path(key)) ? File.read(cache_key_path(key)) : nil end
cache_key_path(key)
click to toggle source
# File lib/eac_launcher/instances/base/cache.rb, line 31 def cache_key_path(key) File.join(cache_root, 'keys', key.parameterize) end
cache_key_write(key, value)
click to toggle source
# File lib/eac_launcher/instances/base/cache.rb, line 26 def cache_key_write(key, value) FileUtils.mkdir_p(File.dirname(cache_key_path(key))) File.write(cache_key_path(key), value) end
cache_root()
click to toggle source
# File lib/eac_launcher/instances/base/cache.rb, line 35 def cache_root File.join(::EacLauncher::Context.current.cache_root, name.parameterize) end