Class: PuppetfileResolver::Cache::Persistent
- Defined in:
- lib/puppetfile-resolver/cache/persistent.rb
Instance Method Summary collapse
- #exist?(name) ⇒ Boolean
-
#initialize(cache_directory) ⇒ Persistent
constructor
A new instance of Persistent.
- #load(name) ⇒ Object
- #persist(name, content_string) ⇒ Object
Methods inherited from Base
Constructor Details
#initialize(cache_directory) ⇒ Persistent
Returns a new instance of Persistent.
10 11 12 13 14 15 16 17 |
# File 'lib/puppetfile-resolver/cache/persistent.rb', line 10 def initialize(cache_directory) super require 'digest' require 'json' @cache_directory = cache_directory Dir.mkdir(@cache_directory) unless Dir.exist?(@cache_directory) end |
Instance Method Details
#exist?(name) ⇒ Boolean
19 20 21 22 23 24 |
# File 'lib/puppetfile-resolver/cache/persistent.rb', line 19 def exist?(name) result = super return result if result filename = File.join(@cache_directory, to_cache_name(name)) File.exist?(filename) end |
#load(name) ⇒ Object
26 27 28 29 30 31 32 33 34 |
# File 'lib/puppetfile-resolver/cache/persistent.rb', line 26 def load(name) result = super return result unless result.nil? filename = File.join(@cache_directory, to_cache_name(name)) return nil unless File.exist?(filename) ::JSON.parse(File.open(filename, 'rb:utf-8') { |f| f.read }) end |
#persist(name, content_string) ⇒ Object
36 37 38 39 40 41 |
# File 'lib/puppetfile-resolver/cache/persistent.rb', line 36 def persist(name, content_string) super filename = File.join(@cache_directory, to_cache_name(name)) File.open(filename, 'wb:utf-8') { |f| f.write(content_string) } end |