Skip to content

Commit c3455d7

Browse files
authored
Merge pull request #56 from ropensci-review-tools/repo-user-data
rename main fns: repometrics_data_pkg/user
2 parents 5380fbc + 6ec5f22 commit c3455d7

13 files changed

+65
-99
lines changed

DESCRIPTION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Package: repometrics
22
Title: Metrics for Your Code Repository
3-
Version: 0.1.3.003
3+
Version: 0.1.3.006
44
Authors@R:
55
person("Mark", "Padgham", , "mark.padgham@email.com", role = c("aut", "cre"),
66
comment = c(ORCID = "0000-0003-2172-5265"))

NAMESPACE

+2-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
export(repo_pkgstats_history)
44
export(repometrics_dashboard)
5-
export(repometrics_data)
6-
export(rm_data_repo)
7-
export(rm_data_user)
5+
export(repometrics_data_pkg)
6+
export(repometrics_data_user)
87
importFrom(memoise,memoise)

R/data-dependencies.R

+5-2
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,12 @@ rm_data_libyears <- function (path) {
6262
deps <- deps [which (!is.na (deps$published)), ]
6363

6464
rel <- rm_data_releases_from_gh_api (path, latest_only = TRUE)
65-
rel_date <- as.Date (strftime (rel$published_at, format = "%Y-%m-%d"))
65+
dt <- NA_real_
66+
if (nrow (rel) > 0L) {
67+
rel_date <- as.Date (strftime (rel$published_at, format = "%Y-%m-%d"))
68+
dt <- difftime (deps$published, rel_date, units = "days")
6669

67-
dt <- difftime (deps$published, rel_date, units = "days")
70+
}
6871
deps$libyears <- as.numeric (dt) / 365.25 # In years
6972

7073
return (deps)

R/data-repo.R

+31-4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,33 @@
1+
#' Collate 'repometrics' data for a local R package
2+
#'
3+
#' @inheritParams repo_pkgstats_history
4+
#' @return A list with two main items:
5+
#' \enumerate{
6+
#' \item "pkgstats" Containing summary data from apply `pkgstats` routines
7+
#' across the git history of the repository.
8+
#' \item "cm" Containing data used to derive "CHAOSS metrics", primarily from
9+
#' GitHub data.
10+
#' }
11+
#'
12+
#' @export
13+
repometrics_data_pkg <- function (path, step_days = 1L, num_cores = -1L) {
14+
15+
cli::cli_alert_info ("Extracting package statistics ...")
16+
pkgstats <- repo_pkgstats_history (
17+
path,
18+
step_days = step_days,
19+
num_cores = num_cores
20+
)
21+
cli::cli_alert_success ("Done!")
22+
23+
cli::cli_alert_info ("Extracting GitHub data ...")
24+
rm <- rm_data_repo (path)
25+
rm$contributors <- get_all_contribs (rm$contribs_from_log, rm$contribs_from_gh_api)
26+
cli::cli_alert_success ("Done!")
27+
28+
list (pkgstats = pkgstats, rm = rm)
29+
}
30+
131
#' Calculate all repository data used in CHAOSS metrics
232
#' \url{https://chaoss.community/kb-metrics-and-metrics-models/}.
333
#'
@@ -23,7 +53,7 @@
2353
#' \item `repo_from_gh_api` A `data.frame` of a single line, with several key
2454
#' attributes of the repository on GitHub.
2555
#' }
26-
#' @export
56+
#' @noRd
2757
rm_data_repo <- function (path) {
2858

2959
checkmate::assert_directory_exists (path)
@@ -51,9 +81,6 @@ get_rm_data_fns <- function () {
5181
data_fns <- data_fns [which (!grepl ("\\_internal$", data_fns))]
5282
data_fns <- data_fns [which (!data_fns == "rm_data_repo")]
5383

54-
index <- grep ("user", data_fns)
55-
data_fns <- data_fns [-index]
56-
5784
return (data_fns)
5885
}
5986

R/data-user.R

+4-4
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@
1818
#' \item `issues` with information on all issues opened by user
1919
#' }
2020
#' @export
21-
rm_data_user <- function (login,
22-
ended_at = Sys.time (),
23-
nyears = 1,
24-
n_per_page = 100) {
21+
repometrics_data_user <- function (login,
22+
ended_at = Sys.time (),
23+
nyears = 1,
24+
n_per_page = 100) {
2525

2626
checkmate::assert_character (login, len = 1L)
2727

R/quarto-dashboard.R

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
#' Start quarto dashboard with results of main \link{repometrics_data}
1+
#' Start quarto dashboard with results of main \link{repometrics_data_pkg}
22
#' function.
33
#'
4-
#' @param data Results of main \link{repometrics_data} function applied
5-
#' to one package.
4+
#' @param data Results of main \link{repometrics_data_pkg} function applied to
5+
#' one package.
66
#' @param action One of "preview", to start and open a live preview of the
77
#' dashboard website, or "render" to render a static version without previewing
88
#' or opening.

R/repometrics-data.R

-29
This file was deleted.

codemeta.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"codeRepository": "https://github.com/ropensci-review-tools/repometrics",
99
"issueTracker": "https://github.com/ropensci-review-tools/repometrics/issues",
1010
"license": "https://spdx.org/licenses/GPL-3.0",
11-
"version": "0.1.3.003",
11+
"version": "0.1.3.006",
1212
"programmingLanguage": {
1313
"@type": "ComputerLanguage",
1414
"name": "R",

man/repometrics_dashboard.Rd

+4-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/repometrics_data.Rd man/repometrics_data_pkg.Rd

+4-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/rm_data_user.Rd man/repometrics_data_user.Rd

+8-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/rm_data_repo.Rd

-39
This file was deleted.

tests/testthat/test-rm-data-gh-user.R

+2-2
Original file line numberDiff line numberDiff line change
@@ -69,15 +69,15 @@ test_that ("rm user data internal structures", {
6969
expect_named (dat$issue_cmts, nms)
7070
})
7171

72-
test_that ("rm_data_user fn", {
72+
test_that ("repometrics_data_user fn", {
7373

7474
Sys.setenv ("REPOMETRICS_TESTS" = "true")
7575
dat_mocked <- mock_rm_data (repo = FALSE)
7676

7777
login <- "mpadge"
7878
ended_at <- as.POSIXct ("2024-01-01T00:00:00")
7979

80-
dat <- rm_data_user (
80+
dat <- repometrics_data_user (
8181
login = login,
8282
n_per_page = 1,
8383
ended_at = ended_at,

0 commit comments

Comments
 (0)