R/r2dii_packages.R

Defines functions r2dii_packages

Documented in r2dii_packages

#' Return a vector giving the name of r2dii packages
#'
#' @return String. A vector giving the name of r2dii packages
#' @export
#'
#' @family miscellaneous utility functions
#'
#' @examples
#' # The r2dii package must be installed
#' # See https://2degreesinvesting.github.io/r2dii/#installation
#' try(r2dii_packages())
r2dii_packages <- function() {
  # requireNamespace("r2dii") throws WARNING in R CMD check
  # Suggesting r2dii would create a circular dependency
  uses_r2dii <- any(grepl("^r2dii$", rownames(utils::installed.packages())))
  if (!uses_r2dii) {
    abort(
      glue(
        "The r2dii package must be installed. Install it from GitHub with:
         # install.packages('remotes')
         remotes::install_github('2degreesinvesting/r2dii')"
      )
    )
  }

  pkgs <- utils::packageDescription("r2dii", fields = "Depends", drop = TRUE)
  strsplit(pkgs, ", ")[[1]]
}
2DegreesInvesting/r2dii.utils documentation built on March 31, 2022, 11:20 p.m.