class Chef::ChefFS::FileSystem::ChefRepositoryFileSystemCookbookEntry
Attributes
recursive[R]
ruby_only[R]
Public Class Methods
new(name, parent, file_path = nil, ruby_only = false, recursive = false)
click to toggle source
Calls superclass method
# File lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_entry.rb, line 27 def initialize(name, parent, file_path = nil, ruby_only = false, recursive = false) super(name, parent, file_path) @ruby_only = ruby_only @recursive = recursive end
Public Instance Methods
can_have_child?(name, is_dir)
click to toggle source
# File lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_entry.rb, line 47 def can_have_child?(name, is_dir) if is_dir return recursive && name != '.' && name != '..' elsif ruby_only return false if name[-3..-1] != '.rb' end # Check chefignore ignorer = parent begin if ignorer.is_a?(ChefRepositoryFileSystemCookbooksDir) # Grab the path from entry to child path_to_child = name child = self while child.parent != ignorer path_to_child = PathUtils.join(child.name, path_to_child) child = child.parent end # Check whether that relative path is ignored return !ignorer.chefignore || !ignorer.chefignore.ignored?(path_to_child) end ignorer = ignorer.parent end while ignorer true end
children()
click to toggle source
# File lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_entry.rb, line 36 def children begin Dir.entries(file_path).sort. select { |child_name| can_have_child?(child_name, File.directory?(File.join(file_path, child_name))) }. map { |child_name| make_child(child_name) }. select { |entry| !(entry.dir? && entry.children.size == 0) } rescue Errno::ENOENT raise Chef::ChefFS::FileSystem::NotFoundError.new(self, $!) end end
write_pretty_json()
click to toggle source
# File lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_entry.rb, line 74 def write_pretty_json false end
Protected Instance Methods
make_child(child_name)
click to toggle source
# File lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_entry.rb, line 80 def make_child(child_name) ChefRepositoryFileSystemCookbookEntry.new(child_name, self, nil, ruby_only, recursive) end