diff options
author | John Keiser <john@johnkeiser.com> | 2015-08-06 13:58:34 -0700 |
---|---|---|
committer | John Keiser <john@johnkeiser.com> | 2015-08-07 14:19:31 -0700 |
commit | cbecc5d15925d64cfa9eed2e541ed8f5529a0ce4 (patch) | |
tree | bdc37c9e3e3e6adcf265bed8805312d4030f8aa6 | |
parent | e0b89348187e107f3a7ccde775342f4845f833ba (diff) | |
download | chef-cbecc5d15925d64cfa9eed2e541ed8f5529a0ce4.tar.gz |
Rename make_child / _make_child_entry -> make_child_entry for consistency
14 files changed, 31 insertions, 44 deletions
diff --git a/lib/chef/chef_fs/file_system/acl_dir.rb b/lib/chef/chef_fs/file_system/acl_dir.rb index c2354d478d..a05f3ca534 100644 --- a/lib/chef/chef_fs/file_system/acl_dir.rb +++ b/lib/chef/chef_fs/file_system/acl_dir.rb @@ -30,8 +30,7 @@ class Chef def child(name) result = @children.select { |child| child.name == name }.first if @children - result ||= can_have_child?(name, false) ? - AclEntry.new(name, self) : NonexistentFSObject.new(name, self) + result || super end def can_have_child?(name, is_dir) diff --git a/lib/chef/chef_fs/file_system/base_fs_dir.rb b/lib/chef/chef_fs/file_system/base_fs_dir.rb index 8cc277facc..47e33f961a 100644 --- a/lib/chef/chef_fs/file_system/base_fs_dir.rb +++ b/lib/chef/chef_fs/file_system/base_fs_dir.rb @@ -31,11 +31,6 @@ class Chef true end - # Override child(name) to provide a child object by name without the network read - def child(name) - children.select { |child| child.name == name }.first || NonexistentFSObject.new(name, self) - end - def can_have_child?(name, is_dir) true end diff --git a/lib/chef/chef_fs/file_system/base_fs_object.rb b/lib/chef/chef_fs/file_system/base_fs_object.rb index 43e6a513d7..6f05a0406e 100644 --- a/lib/chef/chef_fs/file_system/base_fs_object.rb +++ b/lib/chef/chef_fs/file_system/base_fs_object.rb @@ -95,7 +95,9 @@ class Chef # directly perform a network request to retrieve the y.json data bag. No # network request was necessary to retrieve def child(name) - NonexistentFSObject.new(name, self) + (can_have_child?(name, true) || can_have_child?(name, false)) ? + make_child_entry(name) : + NonexistentFSObject.new(name, self) end # Override children to report your *actual* list of children as an array. @@ -171,7 +173,7 @@ class Chef # Important directory attributes: name, parent, path, root # Overridable attributes: dir?, child(name), path_for_printing - # Abstract: read, write, delete, children, can_have_child?, create_child, compare_to + # Abstract: read, write, delete, children, can_have_child?, create_child, compare_to, make_child_entry end # class BaseFsObject end end diff --git a/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_dir.rb b/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_dir.rb index a7f1d733b1..4d1af9ad95 100644 --- a/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_dir.rb +++ b/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_dir.rb @@ -61,7 +61,7 @@ class Chef 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) }. + map { |child_name| make_child_entry(child_name) }. select { |entry| !(entry.dir? && entry.children.size == 0) } rescue Errno::ENOENT raise Chef::ChefFS::FileSystem::NotFoundError.new(self, $!) @@ -99,7 +99,7 @@ class Chef protected - def make_child(child_name) + def make_child_entry(child_name) segment_info = CookbookDir::COOKBOOK_SEGMENT_INFO[child_name.to_sym] || {} ChefRepositoryFileSystemCookbookEntry.new(child_name, self, nil, segment_info[:ruby_only], segment_info[:recursive]) end diff --git a/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_entry.rb b/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_entry.rb index 66709ccf68..dd7f67492c 100644 --- a/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_entry.rb +++ b/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_entry.rb @@ -37,7 +37,7 @@ class Chef 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) }. + map { |child_name| make_child_entry(child_name) }. select { |entry| !(entry.dir? && entry.children.size == 0) } rescue Errno::ENOENT raise Chef::ChefFS::FileSystem::NotFoundError.new(self, $!) @@ -78,7 +78,7 @@ class Chef protected - def make_child(child_name) + def make_child_entry(child_name) ChefRepositoryFileSystemCookbookEntry.new(child_name, self, nil, ruby_only, recursive) end end diff --git a/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbooks_dir.rb b/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbooks_dir.rb index 7c60b51114..8a268ff755 100644 --- a/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbooks_dir.rb +++ b/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbooks_dir.rb @@ -40,7 +40,7 @@ class Chef 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) }. + map { |child_name| make_child_entry(child_name) }. select do |entry| # empty cookbooks and cookbook directories are ignored if !entry.can_upload? @@ -61,7 +61,7 @@ class Chef def write_cookbook(cookbook_path, cookbook_version_json, from_fs) cookbook_name = File.basename(cookbook_path) - child = make_child(cookbook_name) + child = make_child_entry(cookbook_name) # Use the copy/diff algorithm to copy it down so we don't destroy # chefignored data. This is terribly un-thread-safe. @@ -80,7 +80,7 @@ class Chef protected - def make_child(child_name) + def make_child_entry(child_name) ChefRepositoryFileSystemCookbookDir.new(child_name, self) end end diff --git a/lib/chef/chef_fs/file_system/chef_repository_file_system_entry.rb b/lib/chef/chef_fs/file_system/chef_repository_file_system_entry.rb index 0b14750744..2e6a638585 100644 --- a/lib/chef/chef_fs/file_system/chef_repository_file_system_entry.rb +++ b/lib/chef/chef_fs/file_system/chef_repository_file_system_entry.rb @@ -75,7 +75,7 @@ class Chef 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) } + map { |child_name| make_child_entry(child_name) } rescue Errno::ENOENT raise Chef::ChefFS::FileSystem::NotFoundError.new(self, $!) end @@ -83,7 +83,7 @@ class Chef protected - def make_child(child_name) + def make_child_entry(child_name) ChefRepositoryFileSystemEntry.new(child_name, self) end end diff --git a/lib/chef/chef_fs/file_system/cookbooks_dir.rb b/lib/chef/chef_fs/file_system/cookbooks_dir.rb index 27bedd3827..cac625ccf6 100644 --- a/lib/chef/chef_fs/file_system/cookbooks_dir.rb +++ b/lib/chef/chef_fs/file_system/cookbooks_dir.rb @@ -37,16 +37,12 @@ class Chef end def child(name) - if @children - result = self.children.select { |child| child.name == name }.first - if result - result - else - NonexistentFSObject.new(name, self) - end - else - CookbookDir.new(name, self) - end + result = @children.select { |child| child.name == name }.first if @children + result || super + end + + def make_child_entry(name) + CookbookDir.new(name, self) end def children diff --git a/lib/chef/chef_fs/file_system/data_bags_dir.rb b/lib/chef/chef_fs/file_system/data_bags_dir.rb index 6d0685d3b7..6d9794c726 100644 --- a/lib/chef/chef_fs/file_system/data_bags_dir.rb +++ b/lib/chef/chef_fs/file_system/data_bags_dir.rb @@ -29,7 +29,7 @@ class Chef def child(name) result = @children.select { |child| child.name == name }.first if @children - result || DataBagDir.new(name, self) + result || super end def children diff --git a/lib/chef/chef_fs/file_system/environments_dir.rb b/lib/chef/chef_fs/file_system/environments_dir.rb index 559dd6af86..3aee3ee5af 100644 --- a/lib/chef/chef_fs/file_system/environments_dir.rb +++ b/lib/chef/chef_fs/file_system/environments_dir.rb @@ -30,7 +30,7 @@ class Chef super("environments", parent, nil, Chef::ChefFS::DataHandler::EnvironmentDataHandler.new) end - def _make_child_entry(name, exists = nil) + def make_child_entry(name, exists = nil) if name == '_default.json' DefaultEnvironmentEntry.new(name, self, exists) else diff --git a/lib/chef/chef_fs/file_system/file_system_entry.rb b/lib/chef/chef_fs/file_system/file_system_entry.rb index 9bf5fc79b7..3a31425434 100644 --- a/lib/chef/chef_fs/file_system/file_system_entry.rb +++ b/lib/chef/chef_fs/file_system/file_system_entry.rb @@ -41,18 +41,14 @@ class Chef def children begin - Dir.entries(file_path).sort.select { |entry| entry != '.' && entry != '..' }.map { |entry| make_child(entry) } + Dir.entries(file_path).sort.select { |entry| entry != '.' && entry != '..' }.map { |entry| make_child_entry(entry) } rescue Errno::ENOENT raise Chef::ChefFS::FileSystem::NotFoundError.new(self, $!) end end - def child(name) - make_child(name) - end - def create_child(child_name, file_contents=nil) - child = make_child(child_name) + child = make_child_entry(child_name) if child.exists? raise Chef::ChefFS::FileSystem::AlreadyExistsError.new(:create_child, child) end @@ -103,7 +99,7 @@ class Chef protected - def make_child(child_name) + def make_child_entry(child_name) FileSystemEntry.new(child_name, self) end end diff --git a/lib/chef/chef_fs/file_system/multiplexed_dir.rb b/lib/chef/chef_fs/file_system/multiplexed_dir.rb index 6c49f35cfd..114ff49593 100644 --- a/lib/chef/chef_fs/file_system/multiplexed_dir.rb +++ b/lib/chef/chef_fs/file_system/multiplexed_dir.rb @@ -41,7 +41,7 @@ class Chef child_entry = dir.child(name) if child_entry.exists? if result - Chef::Log.warn("Child with name '#{child.name}' found in multiple directories: #{result.parent.path_for_printing} and #{child.parent.path_for_printing}") + Chef::Log.warn("Child with name '#{child_entry.name}' found in multiple directories: #{result.parent.path_for_printing} and #{child_entry.parent.path_for_printing}") else result = child_entry end diff --git a/lib/chef/chef_fs/file_system/nodes_dir.rb b/lib/chef/chef_fs/file_system/nodes_dir.rb index c3c48377cd..2610b06a82 100644 --- a/lib/chef/chef_fs/file_system/nodes_dir.rb +++ b/lib/chef/chef_fs/file_system/nodes_dir.rb @@ -33,7 +33,7 @@ class Chef def children begin @children ||= root.get_json(env_api_path).keys.sort.map do |key| - _make_child_entry("#{key}.json", true) + make_child_entry("#{key}.json", true) end rescue Timeout::Error => e raise Chef::ChefFS::FileSystem::OperationFailedError.new(:children, self, e), "Timeout retrieving children: #{e}" diff --git a/lib/chef/chef_fs/file_system/rest_list_dir.rb b/lib/chef/chef_fs/file_system/rest_list_dir.rb index 672fa444f1..6ebfdb0ea8 100644 --- a/lib/chef/chef_fs/file_system/rest_list_dir.rb +++ b/lib/chef/chef_fs/file_system/rest_list_dir.rb @@ -35,8 +35,7 @@ class Chef def child(name) result = @children.select { |child| child.name == name }.first if @children - result ||= can_have_child?(name, false) ? - _make_child_entry(name) : NonexistentFSObject.new(name, self) + result || super end def can_have_child?(name, is_dir) @@ -46,7 +45,7 @@ class Chef def children begin @children ||= root.get_json(api_path).keys.sort.map do |key| - _make_child_entry("#{key}.json", true) + make_child_entry("#{key}.json", true) end rescue Timeout::Error => e raise Chef::ChefFS::FileSystem::OperationFailedError.new(:children, self, e), "Timeout retrieving children: #{e}" @@ -66,7 +65,7 @@ class Chef raise Chef::ChefFS::FileSystem::OperationFailedError.new(:create_child, self, e), "Parse error reading JSON creating child '#{name}': #{e}" end - result = _make_child_entry(name, true) + result = make_child_entry(name, true) if data_handler object = data_handler.normalize_for_post(object, result) @@ -106,7 +105,7 @@ class Chef parent.rest end - def _make_child_entry(name, exists = nil) + def make_child_entry(name, exists = nil) RestListEntry.new(name, self, exists) end end |