def link_tempfiles_to_current_release
dirs_info = @new_resource.create_dirs_before_symlink.join(",")
@new_resource.create_dirs_before_symlink.each do |dir|
begin
FileUtils.mkdir_p(release_path + "/#{dir}")
rescue => e
raise Chef::Exceptions::FileNotFound.new("Cannot create directory #{dir}: #{e.message}")
end
end
Chef::Log.info("#{@new_resource} created directories before symlinking #{dirs_info}")
links_info = @new_resource.symlinks.map { |src, dst| "#{src} => #{dst}" }.join(", ")
@new_resource.symlinks.each do |src, dest|
begin
FileUtils.ln_sf(@new_resource.shared_path + "/#{src}", release_path + "/#{dest}")
rescue => e
raise Chef::Exceptions::FileNotFound.new("Cannot symlink shared data #{@new_resource.shared_path}/#{src} to #{release_path}/#{dest}: #{e.message}")
end
end
Chef::Log.info("#{@new_resource} linked shared paths into current release: #{links_info}")
run_symlinks_before_migrate
enforce_ownership
end