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 45 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 51 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 57 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 63 def ensure_cache_path_created return true if @cache_path_created FileUtils.mkdir_p(cache_path) @cache_path_created = true end