class Chef::Cookbook::SyntaxCheck::PersistentSet
Chef::Cookbook::SyntaxCheck::PersistentSet¶ ↑
Implements set behavior with disk-based persistence. Objects in the set are expected to be strings containing only characters that are valid in filenames.
This class is used to track which files have been syntax checked so that known good files are not rechecked.
Attributes
cache_path[R]
Public Class Methods
new(cache_path = Chef::Config[:syntax_check_cache_path])
click to toggle source
Create a new PersistentSet. Values in the
set are persisted by creating a file in the cache_path
directory.
# File lib/chef/cookbook/syntax_check.rb, line 46 def initialize(cache_path = Chef::Config[:syntax_check_cache_path]) @cache_path = cache_path @cache_path_created = false end
Public Instance Methods
add(value)
click to toggle source
Adds value
to the set's collection.
# File lib/chef/cookbook/syntax_check.rb, line 52 def add(value) ensure_cache_path_created FileUtils.touch(File.join(cache_path, value)) end
include?(value)
click to toggle source
Returns true if the set includes value
# File lib/chef/cookbook/syntax_check.rb, line 58 def include?(value) File.exist?(File.join(cache_path, value)) end
Private Instance Methods
ensure_cache_path_created()
click to toggle source
# File lib/chef/cookbook/syntax_check.rb, line 64 def ensure_cache_path_created return true if @cache_path_created FileUtils.mkdir_p(cache_path) @cache_path_created = true end