Skip to content

Commit 644ee32

Browse files
authored
Merge pull request #89 from ropensci-review-tools/collate
implement 'metrics_data' pars in model fns for #87
2 parents 808d8d3 + 26c0e29 commit 644ee32

9 files changed

+456
-193
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.5.005
3+
Version: 0.1.5.014
44
Authors@R:
55
person("Mark", "Padgham", , "mark.padgham@email.com", role = c("aut", "cre"),
66
comment = c(ORCID = "0000-0003-2172-5265"))

R/cm-collate-all.R

+11-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ get_cm_fns <- function (what = "metric") {
55

66
pkg_fns <- ls (envir = asNamespace ("repometrics"))
77
fns <- grep (ptn, pkg_fns, value = TRUE)
8+
fns <- fns [which (!grepl ("internal", fns))]
89

910
return (fns)
1011
}
@@ -34,16 +35,24 @@ collate_all_metrics <- function (path, end_date = Sys.Date ()) {
3435
return (metrics_data)
3536
}
3637

37-
collate_all_models <- function (path, end_date = Sys.Date ()) {
38+
collate_all_models <- function (path,
39+
end_date = Sys.Date (),
40+
metrics_data = NULL) {
3841

3942
model_fns <- get_cm_fns ("model")
40-
pars <- list (path = path, end_date = end_date)
43+
44+
if (is.null (metrics_data)) {
45+
pars <- list (path = path, end_date = end_date)
46+
} else {
47+
pars <- list (metrics_data = metrics_data)
48+
}
4149

4250
model_data <- vapply (
4351
model_fns,
4452
function (f) do.call (f, pars),
4553
numeric (1L)
4654
)
55+
4756
names (model_data) <- gsub ("^cm\\_model\\_", "", model_fns)
4857

4958
return (model_data)

R/cm-metric-libyears.R

+7
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,10 @@ cm_metric_libyears <- function (path, end_date = NULL) {
1313

1414
return (mn_med_sum (deps$libyears))
1515
}
16+
17+
cm_metric_dependency_count <- function (path, end_date = NULL) {
18+
19+
deps <- rm_data_libyears (path)
20+
21+
return (nrow (deps))
22+
}

R/cm-metric-test-coverage.R

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
cm_metric_test_coverage_internal <- function (path, end_date = Sys.Date ()) {
2+
3+
# Suppress no visible binding notes:
4+
name <- coverage <- NULL
5+
6+
requireNamespace ("readr")
7+
8+
or <- org_repo_from_path (path)
9+
wf_tests <- rm_data_gh_repo_workflow (path) |>
10+
dplyr::filter (grepl ("test|coverage", name))
11+
12+
res0 <- data.frame (
13+
id = integer (0),
14+
created = double (0),
15+
coverage = double (0),
16+
row.names = NULL
17+
)
18+
if (nrow (wf_tests) == 0) {
19+
return (res0)
20+
}
21+
22+
# This returns the most recent test coverage value:
23+
cov <- NA_real_
24+
i <- 1L
25+
while (is.na (cov) & i <= nrow (wf_tests)) {
26+
cov <- coverage_from_one_log (wf_tests$logs_url [i])
27+
i <- i + 1L
28+
}
29+
res <- data.frame (
30+
id = wf_tests$id [i - 1],
31+
created = wf_tests$created [i - 1],
32+
coverage = cov,
33+
row.names = NULL
34+
)
35+
36+
return (res)
37+
}
38+
cm_metric_test_coverage <- memoise::memoise (cm_metric_test_coverage_internal)

0 commit comments

Comments
 (0)