class ChefFS::FileSystem::ChefRepositoryFileSystemCookbooksDir
Attributes
chefignore[R]
Public Class Methods
new(name, parent, file_path)
click to toggle source
Calls superclass method
# File lib/chef_fs/file_system/chef_repository_file_system_cookbooks_dir.rb, line 26 def initialize(name, parent, file_path) super(name, parent, file_path) begin @chefignore = Chef::Cookbook::Chefignore.new(self.file_path) rescue Errno::EISDIR rescue Errno::EACCES # Work around a bug in Chefignore when chefignore is a directory end end
Public Instance Methods
can_have_child?(name, is_dir)
click to toggle source
# File lib/chef_fs/file_system/chef_repository_file_system_cookbooks_dir.rb, line 53 def can_have_child?(name, is_dir) is_dir && !name.start_with?('.') end
children()
click to toggle source
# File lib/chef_fs/file_system/chef_repository_file_system_cookbooks_dir.rb, line 38 def children Dir.entries(file_path).sort. select { |child_name| can_have_child?(child_name, File.directory?(File.join(file_path, child_name))) }. map { |child_name| ChefRepositoryFileSystemCookbookDir.new(child_name, self) }. select do |entry| # empty cookbooks and cookbook directories are ignored if entry.children.size == 0 Chef::Log.warn("Cookbook '#{entry.name}' is empty or entirely chefignored at #{entry.path_for_printing}") false else true end end end