Method: Chef::ChefFS::FileSystem::Repository::FileSystemEntry#create_child

Defined in:
lib/chef/chef_fs/file_system/repository/file_system_entry.rb

#create_child(child_name, file_contents = nil) ⇒ Object



90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/chef/chef_fs/file_system/repository/file_system_entry.rb', line 90

def create_child(child_name, file_contents = nil)
  child = make_child_entry(child_name)
  if child.exists?
    raise Chef::ChefFS::FileSystem::AlreadyExistsError.new(:create_child, child)
  end
  if file_contents
    child.write(file_contents)
  else
    Dir.mkdir(child.file_path)
  end
  child
rescue Errno::EEXIST
  raise Chef::ChefFS::FileSystem::AlreadyExistsError.new(:create_child, child)
end