class Chef::ChefFS::FileSystem::MultiplexedDir
Attributes
multiplexed_dirs[R]
Public Class Methods
new(*multiplexed_dirs)
click to toggle source
Calls superclass method
Chef::ChefFS::FileSystem::BaseFSDir.new
# File lib/chef/chef_fs/file_system/multiplexed_dir.rb, line 8 def initialize(*multiplexed_dirs) @multiplexed_dirs = multiplexed_dirs.flatten super(@multiplexed_dirs[0].name, @multiplexed_dirs[0].parent) end
Public Instance Methods
can_have_child?(name, is_dir)
click to toggle source
# File lib/chef/chef_fs/file_system/multiplexed_dir.rb, line 38 def can_have_child?(name, is_dir) write_dir.can_have_child?(name, is_dir) end
children()
click to toggle source
# File lib/chef/chef_fs/file_system/multiplexed_dir.rb, line 19 def children begin result = [] seen = {} # If multiple things have the same name, the first one wins. multiplexed_dirs.each do |dir| dir.children.each do |child| if seen[child.name] Chef::Log.warn("Child with name '#{child.name}' found in multiple directories: #{seen[child.name].path_for_printing} and #{child.path_for_printing}") else result << child seen[child.name] = child end end end result end end
create_child(name, file_contents = nil)
click to toggle source
# File lib/chef/chef_fs/file_system/multiplexed_dir.rb, line 42 def create_child(name, file_contents = nil) @children = nil write_dir.create_child(name, file_contents) end
write_dir()
click to toggle source
# File lib/chef/chef_fs/file_system/multiplexed_dir.rb, line 15 def write_dir multiplexed_dirs[0] end