def action_create
super
Chef::Log.debug("Doing a remote recursive directory transfer for #{@new_resource}")
files_to_purge = Set.new(
Dir.glob(::File.join(@new_resource.path, '**', '*'), ::File::FNM_DOTMATCH).select do |name|
name !~ /(?:^|#{Regexp.escape(::File::SEPARATOR)})\.\.?$/
end
)
files_to_transfer.each do |cookbook_file_relative_path|
create_cookbook_file(cookbook_file_relative_path)
files_to_purge.delete(::File.dirname(::File.join(@new_resource.path, cookbook_file_relative_path)))
files_to_purge.delete(::File.join(@new_resource.path, cookbook_file_relative_path))
end
purge_unmanaged_files(files_to_purge)
end