From c3583970182e2baf5ce38df020bbd31433302f51 Mon Sep 17 00:00:00 2001 From: Damian Betebenner Date: Thu, 5 Dec 2024 13:47:17 -1000 Subject: [PATCH] Fixing up startup message --- DESCRIPTION | 2 +- NAMESPACE | 2 +- R/zzz.R | 43 +++++++++++++++++++++++++++++++++++-------- 3 files changed, 37 insertions(+), 10 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 1123e21..9c0dcca 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -4,7 +4,7 @@ Date: 2024-12-3 Title: Generate Random Given and Surnames Depends: R (>= 4.0) Suggests: knitr, rmarkdown -Imports: crayon, data.table (>= 1.14.0), toOrdinal (>= 1.1) +Imports: crayon, data.table (>= 1.14.0), pkgsearch, toOrdinal (>= 1.1) Authors@R: c(person(given=c("Damian", "W."), family="Betebenner", email="dbetebenner@nciea.org", role=c("aut", "cre"), comment=c(ORCID = "0000-0003-0476-5599")), person(given="Lambert", family="Joshua", role="ctb")) Maintainer: Damian W. Betebenner diff --git a/NAMESPACE b/NAMESPACE index 5f94d84..97fb006 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -1,6 +1,6 @@ import(data.table) export(randomNames) -importFrom(crayon,bold,green,magenta,red,yellow) +importFrom(crayon,bold,cyan,green,magenta,red,yellow) importFrom(toOrdinal,toOrdinalDate) importFrom(stats,runif) importFrom(utils,packageVersion) diff --git a/R/zzz.R b/R/zzz.R index 62b661f..99981b6 100644 --- a/R/zzz.R +++ b/R/zzz.R @@ -4,18 +4,45 @@ function(libname, pkgname) { `.onAttach` <- function(libname, pkgname) { if (interactive()) { + # Utility function + get_dev_version <- function(package) { + url <- paste0("https://raw.githubusercontent.com/CenterForAssessment/", package, "/refs/heads/master/DESCRIPTION") + tryCatch({ + lines <- readLines(url, warn = FALSE) + version_line <- grep("^Version:", lines, value = TRUE) + if (length(version_line) > 0) { + return(strsplit(version_line, ": ")[[1]][2]) + } else { + return("Unavailable") + } + }, error = function(e) { + return("Unavailable") + }, warning = function(w) { + return("Unavailable") + }) + } + # Extract version information - version <- utils::packageVersion("randomNames") + installed.version <- utils::packageDescription("randomNames")[['Version']] + cran.version <- tryCatch( + pkgsearch::cran_package("randomNames")[['Version']], + error = function(e) "Unavailable", + warning = function(w) "Unavailable") + dev.version <- get_dev_version("randomNames") # Define a friendly startup message - message_text <- paste0( - magenta(bold("\uD83C\uDF89 randomNames v", version)), " - ", toOrdinal::toOrdinalDate("2024-11-22"), "\n", - "\U1F4A1 Tip: ", magenta(bold("> help(\"randomNames\")")), "\n", - "\U1F310 Docs: ", magenta(bold("https://centerforassessment.github.io/randomNames")), "\n", - "\u2728 Happy randomNaming!" - ) + message_text <- paste0( + magenta(bold("\uD83C\uDF89 randomNames v", installed.version, sep="")), " - ", toOrdinal::toOrdinalDate("2024-12-4"), "\n", + strrep("\u2501", 40), "\n", + bold("\U1F4E6 CRAN: "), green("v", cran.version, sep=""), "\n", + bold("\U1F527 Dev: "), cyan("v", dev.version, sep=""), "\n", + strrep("\u2501", 40), "\n", + "\U1F4A1 Tip: ", magenta(bold("> help(package=\"randomNames\")")), "\n", + "\U1F310 Docs: ", magenta(bold("https://centerforassessment.github.io/randomNames")), "\n", + strrep("\u2501", 40), "\n", + "\u2728 Happy randomNaming!") # Display the startup message packageStartupMessage(message_text) } -} +} \ No newline at end of file