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