# File lib/pathutil.rb, line 456
  def safe_copy(to, root: nil, ignore: [])
    raise ArgumentError, "must give a root" unless root
    root = self.class.new(root)
    to   = self.class.new(to)

    if directory?
      safe_copy_directory(to, {
        :root => root, :ignore => ignore
      })

    else
      safe_copy_file(to, {
        :root => root
      })
    end
  end