Class: Chef::ChefFS::FileSystem::Repository::ChefRepositoryFileSystemCookbookEntry
- Inherits:
-
ChefRepositoryFileSystemEntry
- Object
- BaseFSObject
- BaseFSDir
- FileSystemEntry
- ChefRepositoryFileSystemEntry
- Chef::ChefFS::FileSystem::Repository::ChefRepositoryFileSystemCookbookEntry
- Defined in:
- lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#recursive ⇒ Object
readonly
Returns the value of attribute recursive.
-
#ruby_only ⇒ Object
readonly
Returns the value of attribute ruby_only.
Attributes inherited from FileSystemEntry
Attributes inherited from BaseFSObject
Instance Method Summary collapse
- #can_have_child?(name, is_dir) ⇒ Boolean
- #children ⇒ Object
-
#initialize(name, parent, file_path = nil, ruby_only = false, recursive = false) ⇒ ChefRepositoryFileSystemCookbookEntry
constructor
A new instance of ChefRepositoryFileSystemCookbookEntry.
- #write_pretty_json ⇒ Object
Methods inherited from ChefRepositoryFileSystemEntry
#chef_object, #data_handler, #minimize, #write, #write_pretty_json=
Methods inherited from FileSystemEntry
#create_child, #delete, #dir?, #exists?, #path_for_printing, #read, #write
Methods inherited from BaseFSDir
Methods inherited from BaseFSObject
#chef_object, #child, #compare_to, #create_child, #delete, #dir?, #exists?, #path_for_printing, #read, #root, #write
Constructor Details
#initialize(name, parent, file_path = nil, ruby_only = false, recursive = false) ⇒ ChefRepositoryFileSystemCookbookEntry
Returns a new instance of ChefRepositoryFileSystemCookbookEntry.
28 29 30 31 32 |
# File 'lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb', line 28 def initialize(name, parent, file_path = nil, ruby_only = false, recursive = false) super(name, parent, file_path) @ruby_only = ruby_only @recursive = recursive end |
Instance Attribute Details
#recursive ⇒ Object (readonly)
Returns the value of attribute recursive.
35 36 37 |
# File 'lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb', line 35 def recursive @recursive end |
#ruby_only ⇒ Object (readonly)
Returns the value of attribute ruby_only.
34 35 36 |
# File 'lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb', line 34 def ruby_only @ruby_only end |
Instance Method Details
#can_have_child?(name, is_dir) ⇒ Boolean
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb', line 41 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 loop do 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 break unless ignorer end true end |
#children ⇒ Object
37 38 39 |
# File 'lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb', line 37 def children super.select { |entry| !(entry.dir? && entry.children.size == 0 ) } end |
#write_pretty_json ⇒ Object
69 70 71 |
# File 'lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb', line 69 def write_pretty_json false end |