Copies given file or directory to destination.

    :param source: Source to copy from.
    :type source: unicode
    :param destination: Destination to copy to.
    :type destination: unicode
    :return: Method success.
    :rtype: bool

def copy(source, destination):
    """
    Copies given file or directory to destination.

    :param source: Source to copy from.
    :type source: unicode
    :param destination: Destination to copy to.
    :type destination: unicode
    :return: Method success.
    :rtype: bool
    """

    try:
        if os.path.isfile(source):
            LOGGER.debug("> Copying '{0}' file to '{1}'.".format(source, destination))
            shutil.copyfile(source, destination)
        else:
            LOGGER.debug("> Copying '{0}' directory to '{1}'.".format(source, destination))
            shutil.copytree(source, destination)
        return True
    except Exception as error:
        raise foundations.exceptions.PathCopyError(
            "!> {0} | Cannot copy '{1}' path: '{2}'".format(__name__, source, error))