Skip to content

Commit 9856f50

Browse files
committed
chore: use httptest2
1 parent 5832104 commit 9856f50

File tree

10 files changed

+112
-47
lines changed

10 files changed

+112
-47
lines changed

DESCRIPTION

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ Imports:
2828
usethis,
2929
withr
3030
Suggests:
31+
httptest2,
3132
knitr,
3233
rmarkdown,
3334
testthat (>= 3.0.0)

R/github.R

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,6 @@ check_global_git <- function() {
3737
}
3838
}
3939

40-
clone_pkg <- function(pkg_repo, pkg_dir) {
41-
fs::dir_create(pkg_dir)
42-
usethis::create_from_github(pkg_repo, destdir = pkg_dir, open = FALSE)
43-
}
44-
4540
get_repo_meta <- function(pkg_repo, full = FALSE) {
4641
meta <- gh::gh(paste0("/repos/", pkg_repo)) # nolint: paste_linter
4742

R/pkgreview.R

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ pkgreview_create <- function(pkg_repo, review_parent = ".",
4848
sprintf("%s-%s", meta[["name"]], template)
4949
)
5050

51-
clone_pkg(pkg_repo, pkg_dir = review_parent)
51+
usethis::create_from_github(pkg_repo, destdir = review_parent, open = FALSE)
5252

5353
# create project
5454
withr::local_options(list(usethis.quiet = TRUE))
@@ -118,17 +118,14 @@ pkgreview_init <- function(pkg_repo, review_dir = ".",
118118
}
119119

120120
usethis::create_project(review_dir, open = FALSE)
121+
use_onboarding_tmpl(template, destdir = review_dir)
122+
pkgreview_index_rmd(pkg_data, template, destdir = review_dir)
121123

122-
usethis::with_project(review_dir, {
123-
# create templates
124-
use_onboarding_tmpl(template)
125-
pkgreview_index_rmd(pkg_data, template)
126-
switch(
127-
template,
128-
review = pkgreview_readme_md(pkg_data),
129-
editor = pkgreview_request(pkg_data)
130-
)
131-
}, quiet = TRUE)
124+
switch(
125+
template,
126+
review = pkgreview_readme_md(pkg_data, destdir = review_dir),
127+
editor = pkgreview_request(pkg_data, destdir = review_dir)
128+
)
132129

133130
cli::cli_alert_success(
134131
"{template} project {.val {basename(review_dir)}} initialised"
@@ -220,15 +217,5 @@ pkgreview_getdata <- function(pkg_repo, pkg_dir = NULL,
220217
#' @return a list of whoami token metadata
221218
#' @export
222219
try_whoami <- function() {
223-
if (isTRUE(as.logical(Sys.getenv("CI")))) {
224-
return(
225-
list(
226-
name = "Maëlle Salmon",
227-
login = "maelle",
228-
html_url = "https://github.com/maelle"
229-
)
230-
)
231-
}
232-
233220
try(gh::gh_whoami(gh::gh_token()), silent = TRUE)
234221
}

R/render-templates.R

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,27 @@
1616
# @importFrom usethis getFromNamespace check_installed
1717
# @importFrom usethis getFromNamespace render_template
1818
pkgreview_index_rmd <- function(pkg_data,
19-
template = c("review", "editor")) {
19+
template = c("review", "editor"),
20+
destdir) {
2021
template <- match.arg(template)
2122

22-
usethis::use_template(
23-
sprintf("%s-index", template),
24-
"index.Rmd",
25-
data = pkg_data,
26-
ignore = FALSE,
27-
open = FALSE,
28-
package = "pkgreviewr"
29-
)
23+
usethis::with_project(destdir, {
24+
usethis::use_template(
25+
sprintf("%s-index", template),
26+
"index.Rmd",
27+
data = pkg_data,
28+
ignore = FALSE,
29+
open = FALSE,
30+
package = "pkgreviewr"
31+
)
32+
})
3033
invisible(TRUE)
3134
}
3235

3336
#' @export
3437
#' @rdname pkgreview_index_rmd
35-
pkgreview_readme_md <- function(pkg_data) {
38+
pkgreview_readme_md <- function(pkg_data, destdir) {
39+
usethis::local_project(destdir)
3640
usethis::use_template(
3741
"review-README",
3842
"README.md",
@@ -56,35 +60,31 @@ pkgreview_readme_md <- function(pkg_data) {
5660
#' \dontrun{
5761
#' use_onboarding_tmpl(template = "editor")
5862
#' }
59-
use_onboarding_tmpl <- function(template = c("review", "editor")) {
63+
use_onboarding_tmpl <- function(template = c("review", "editor"), destdir) {
6064
template <- match.arg(template)
6165
tmpl_txt <- gh::gh("/repos/:owner/:repo/contents/:path",
6266
owner = "ropensci",
6367
repo = "dev_guide",
6468
path = sprintf("templates/%s.md", template) # nolint: nonportable_path_litner
6569
)
6670

67-
temp_file <- withr::local_tempfile()
68-
curl::curl_download(tmpl_txt[["download_url"]], temp_file)
69-
tmpl_txt <- paste(brio::read_lines(temp_file), collapse = "\n")
70-
71-
new <- usethis::write_over(
72-
usethis::proj_path(fs::path_ext_set(template, ".md")),
73-
tmpl_txt
71+
curl::curl_download(
72+
tmpl_txt[["download_url"]],
73+
fs::path(destdir, fs::path_ext_set(template, ".md"))
7474
)
75-
invisible(new)
7675
}
7776

7877

7978

8079
#' @export
8180
#' @rdname pkgreview_index_rmd
82-
pkgreview_request <- function(pkg_data) {
81+
pkgreview_request <- function(pkg_data, destdir) {
8382
pkg_data <- c(
8483
pkg_data,
8584
editor = try_whoami()[["name"]]
8685
)
8786

87+
usethis::local_project(destdir)
8888
usethis::use_template(
8989
"request",
9090
"request.Rmd",
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
structure(list(method = "GET", url = "https://api.github.com/repos/ropensci/dev_guide/contents/templates/review.md",
2+
status_code = 304L, headers = structure(list(`content-type` = "application/json; charset=utf-8",
3+
`x-oauth-scopes` = "gist, read:discussion, read:enterprise, read:gpg_key, read:org, read:packages, read:public_key, read:repo_hook, repo, user, workflow",
4+
`x-accepted-oauth-scopes` = "", `github-authentication-token-expiration` = "2025-04-13 06:57:34 UTC",
5+
`x-github-media-type` = "github.v3; format=json", `content-encoding` = "gzip",
6+
date = "Tue, 18 Feb 2025 15:21:38 GMT", `cache-control` = "private, max-age=60, s-maxage=60",
7+
vary = "Accept, Authorization, Cookie, X-GitHub-OTP,Accept-Encoding, Accept, X-Requested-With",
8+
etag = "\"732b40c24c4588e33359504efb90f5f1e80ae2fd\"",
9+
`last-modified` = "Mon, 17 Feb 2025 15:35:04 GMT", `x-github-api-version-selected` = "2022-11-28",
10+
`x-ratelimit-limit` = "5000", `x-ratelimit-remaining` = "4999",
11+
`x-ratelimit-reset` = "1739895584", `x-ratelimit-used` = "1",
12+
`x-ratelimit-resource` = "core", `access-control-expose-headers` = "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset",
13+
`access-control-allow-origin` = "*", `strict-transport-security` = "max-age=31536000; includeSubdomains; preload",
14+
`x-frame-options` = "deny", `x-content-type-options` = "nosniff",
15+
`x-xss-protection` = "0", `referrer-policy` = "origin-when-cross-origin, strict-origin-when-cross-origin",
16+
`content-security-policy` = "default-src 'none'", server = "github.com",
17+
`x-github-request-id` = "A3B0:706B9:828AE30:86915C3:67B4A582"), redact = character(0), class = "httr2_headers"),
18+
body = charToRaw("{\"name\":\"review.md\",\"path\":\"templates/review.md\",\"sha\":\"732b40c24c4588e33359504efb90f5f1e80ae2fd\",\"size\":2092,\"url\":\"https://api.github.com/repos/ropensci/dev_guide/contents/templates/review.md?ref=main\",\"html_url\":\"https://github.com/ropensci/dev_guide/blob/main/templates/review.md\",\"git_url\":\"https://api.github.com/repos/ropensci/dev_guide/git/blobs/732b40c24c4588e33359504efb90f5f1e80ae2fd\",\"download_url\":\"https://raw.githubusercontent.com/ropensci/dev_guide/main/templates/review.md\",\"type\":\"file\",\"content\":\"LS0tCnRpdGxlOiAicmV2aWV3IgpvdXRwdXQ6IAogIHJtYXJrZG93bjo6bWRf\\nZG9jdW1lbnQ6CiAgICBwYW5kb2NfYXJnczogWwogICAgICAiLS13cmFwPW5v\\nbmUiCiAgICBdCi0tLQoKIyMgUGFja2FnZSBSZXZpZXcKCipQbGVhc2UgY2hl\\nY2sgb2ZmIGJveGVzIGFzIGFwcGxpY2FibGUsIGFuZCBlbGFib3JhdGUgaW4g\\nY29tbWVudHMgYmVsb3cuICBZb3VyIHJldmlldyBpcyBub3QgbGltaXRlZCB0\\nbyB0aGVzZSB0b3BpY3MsIGFzIGRlc2NyaWJlZCBpbiB0aGUgcmV2aWV3ZXIg\\nZ3VpZGUqCgotICoqQnJpZWZseSBkZXNjcmliZSBhbnkgd29ya2luZyByZWxh\\ndGlvbnNoaXAgeW91IGhhdmUgKGhhZCkgd2l0aCB0aGUgcGFja2FnZSBhdXRo\\nb3JzLioqCi0gWyBdIEFzIHRoZSByZXZpZXdlciBJIGNvbmZpcm0gdGhhdCB0\\naGVyZSBhcmUgbm8gW2NvbmZsaWN0cyBvZiBpbnRlcmVzdF0oaHR0cHM6Ly9k\\nZXZndWlkZS5yb3BlbnNjaS5vcmcvcG9saWNpZXMuaHRtbCNjb2kpIGZvciBt\\nZSB0byByZXZpZXcgdGhpcyB3b3JrIChpZiB5b3UgYXJlIHVuc3VyZSB3aGV0\\naGVyIHlvdSBhcmUgaW4gY29uZmxpY3QsIHBsZWFzZSBzcGVhayB0byB5b3Vy\\nIGVkaXRvciBfYmVmb3JlXyBzdGFydGluZyB5b3VyIHJldmlldykuCgojIyMj\\nIERvY3VtZW50YXRpb24KClRoZSBwYWNrYWdlIGluY2x1ZGVzIGFsbCB0aGUg\\nZm9sbG93aW5nIGZvcm1zIG9mIGRvY3VtZW50YXRpb246CgotIFsgXSAqKkEg\\nc3RhdGVtZW50IG9mIG5lZWQ6KiogY2xlYXJseSBzdGF0aW5nIHByb2JsZW1z\\nIHRoZSBzb2Z0d2FyZSBpcyBkZXNpZ25lZCB0byBzb2x2ZSBhbmQgaXRzIHRh\\ncmdldCBhdWRpZW5jZSBpbiBSRUFETUUKLSBbIF0gKipJbnN0YWxsYXRpb24g\\naW5zdHJ1Y3Rpb25zOioqIGZvciB0aGUgZGV2ZWxvcG1lbnQgdmVyc2lvbiBv\\nZiBwYWNrYWdlIGFuZCBhbnkgbm9uLXN0YW5kYXJkIGRlcGVuZGVuY2llcyBp\\nbiBSRUFETUUKLSBbIF0gKipWaWduZXR0ZShzKToqKiBkZW1vbnN0cmF0aW5n\\nIG1ham9yIGZ1bmN0aW9uYWxpdHkgdGhhdCBydW5zIHN1Y2Nlc3NmdWxseSBs\\nb2NhbGx5Ci0gWyBdICoqRnVuY3Rpb24gRG9jdW1lbnRhdGlvbjoqKiBmb3Ig\\nYWxsIGV4cG9ydGVkIGZ1bmN0aW9ucwotIFsgXSAqKkV4YW1wbGVzOioqICh0\\naGF0IHJ1biBzdWNjZXNzZnVsbHkgbG9jYWxseSkgZm9yIGFsbCBleHBvcnRl\\nZCBmdW5jdGlvbnMKLSBbIF0gKipDb21tdW5pdHkgZ3VpZGVsaW5lczoqKiBp\\nbmNsdWRpbmcgY29udHJpYnV0aW9uIGd1aWRlbGluZXMgaW4gdGhlIFJFQURN\\nRSBvciBDT05UUklCVVRJTkcsIGFuZCBERVNDUklQVElPTiB3aXRoIGBVUkxg\\nLCBgQnVnUmVwb3J0c2AgYW5kIGBNYWludGFpbmVyYCAod2hpY2ggbWF5IGJl\\nIGF1dG9nZW5lcmF0ZWQgdmlhIGBBdXRob3JzQFJgKS4KCiMjIyMgRnVuY3Rp\\nb25hbGl0eQoKLSBbIF0gKipJbnN0YWxsYXRpb246KiogSW5zdGFsbGF0aW9u\\nIHN1Y2NlZWRzIGFzIGRvY3VtZW50ZWQuCi0gWyBdICoqRnVuY3Rpb25hbGl0\\neToqKiBBbnkgZnVuY3Rpb25hbCBjbGFpbXMgb2YgdGhlIHNvZnR3YXJlIGhh\\ndmUgYmVlbiBjb25maXJtZWQuCi0gWyBdICoqUGVyZm9ybWFuY2U6KiogQW55\\nIHBlcmZvcm1hbmNlIGNsYWltcyBvZiB0aGUgc29mdHdhcmUgaGF2ZSBiZWVu\\nIGNvbmZpcm1lZC4KLSBbIF0gKipBdXRvbWF0ZWQgdGVzdHM6KiogVW5pdCB0\\nZXN0cyBjb3ZlciBlc3NlbnRpYWwgZnVuY3Rpb25zIG9mIHRoZSBwYWNrYWdl\\nIGFuZCBhIHJlYXNvbmFibGUgcmFuZ2Ugb2YgaW5wdXRzIGFuZCBjb25kaXRp\\nb25zLiBBbGwgdGVzdHMgcGFzcyBvbiB0aGUgbG9jYWwgbWFjaGluZS4KLSBb\\nIF0gKipQYWNrYWdpbmcgZ3VpZGVsaW5lcyoqOiBUaGUgcGFja2FnZSBjb25m\\nb3JtcyB0byB0aGUgck9wZW5TY2kgcGFja2FnaW5nIGd1aWRlbGluZXMuCgpF\\nc3RpbWF0ZWQgaG91cnMgc3BlbnQgcmV2aWV3aW5nOgoKLSBbIF0gU2hvdWxk\\nIHRoZSBhdXRob3IocykgZGVlbSBpdCBhcHByb3ByaWF0ZSwgSSBhZ3JlZSB0\\nbyBiZSBhY2tub3dsZWRnZWQgYXMgYSBwYWNrYWdlIHJldmlld2VyICgicmV2\\nIiByb2xlKSBpbiB0aGUgcGFja2FnZSBERVNDUklQVElPTiBmaWxlLgoKLS0t\\nCgojIyMgUmV2aWV3IENvbW1lbnRzCg==\\n\",\"encoding\":\"base64\",\"_links\":{\"self\":\"https://api.github.com/repos/ropensci/dev_guide/contents/templates/review.md?ref=main\",\"git\":\"https://api.github.com/repos/ropensci/dev_guide/git/blobs/732b40c24c4588e33359504efb90f5f1e80ae2fd\",\"html\":\"https://github.com/ropensci/dev_guide/blob/main/templates/review.md\"}}"),
19+
cache = new.env(parent = emptyenv())), class = "httr2_response")
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
structure(list(method = "GET", url = "https://api.github.com/repos/ropensci/riem",
2+
status_code = 304L, headers = structure(list(`content-type` = "application/json; charset=utf-8",
3+
`x-oauth-scopes` = "gist, read:discussion, read:enterprise, read:gpg_key, read:org, read:packages, read:public_key, read:repo_hook, repo, user, workflow",
4+
`x-accepted-oauth-scopes` = "repo", `github-authentication-token-expiration` = "2025-04-13 06:57:34 UTC",
5+
`x-github-media-type` = "github.v3; format=json", `content-encoding` = "gzip",
6+
date = "Tue, 18 Feb 2025 15:21:37 GMT", `cache-control` = "private, max-age=60, s-maxage=60",
7+
vary = "Accept, Authorization, Cookie, X-GitHub-OTP,Accept-Encoding, Accept, X-Requested-With",
8+
etag = "\"2cbaa3abe8e84857a5b80ffb21541d21c2baff69b74386fcea2abb00038bb936\"",
9+
`last-modified` = "Tue, 04 Feb 2025 13:27:00 GMT", `x-github-api-version-selected` = "2022-11-28",
10+
`x-ratelimit-limit` = "5000", `x-ratelimit-remaining` = "4999",
11+
`x-ratelimit-reset` = "1739895584", `x-ratelimit-used` = "1",
12+
`x-ratelimit-resource` = "core", `access-control-expose-headers` = "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset",
13+
`access-control-allow-origin` = "*", `strict-transport-security` = "max-age=31536000; includeSubdomains; preload",
14+
`x-frame-options` = "deny", `x-content-type-options` = "nosniff",
15+
`x-xss-protection` = "0", `referrer-policy` = "origin-when-cross-origin, strict-origin-when-cross-origin",
16+
`content-security-policy` = "default-src 'none'", server = "github.com",
17+
`x-github-request-id` = "A3B0:706B9:828A683:8690DEF:67B4A580"), redact = character(0), class = "httr2_headers"),
18+
body = charToRaw("{\"id\":56859354,\"node_id\":\"MDEwOlJlcG9zaXRvcnk1Njg1OTM1NA==\",\"name\":\"riem\",\"full_name\":\"ropensci/riem\",\"private\":false,\"owner\":{\"login\":\"ropensci\",\"id\":1200269,\"node_id\":\"MDEyOk9yZ2FuaXphdGlvbjEyMDAyNjk=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/1200269?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/ropensci\",\"html_url\":\"https://github.com/ropensci\",\"followers_url\":\"https://api.github.com/users/ropensci/followers\",\"following_url\":\"https://api.github.com/users/ropensci/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/ropensci/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/ropensci/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/ropensci/subscriptions\",\"organizations_url\":\"https://api.github.com/users/ropensci/orgs\",\"repos_url\":\"https://api.github.com/users/ropensci/repos\",\"events_url\":\"https://api.github.com/users/ropensci/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/ropensci/received_events\",\"type\":\"Organization\",\"user_view_type\":\"public\",\"site_admin\":false},\"html_url\":\"https://github.com/ropensci/riem\",\"description\":\":airplane: :sunny: R package for accessing ASOS data via the Iowa Environment Mesonet :cloud: :airplane:\",\"fork\":false,\"url\":\"https://api.github.com/repos/ropensci/riem\",\"forks_url\":\"https://api.github.com/repos/ropensci/riem/forks\",\"keys_url\":\"https://api.github.com/repos/ropensci/riem/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/ropensci/riem/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/ropensci/riem/teams\",\"hooks_url\":\"https://api.github.com/repos/ropensci/riem/hooks\",\"issue_events_url\":\"https://api.github.com/repos/ropensci/riem/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/ropensci/riem/events\",\"assignees_url\":\"https://api.github.com/repos/ropensci/riem/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/ropensci/riem/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/ropensci/riem/tags\",\"blobs_url\":\"https://api.github.com/repos/ropensci/riem/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/ropensci/riem/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/ropensci/riem/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/ropensci/riem/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/ropensci/riem/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/ropensci/riem/languages\",\"stargazers_url\":\"https://api.github.com/repos/ropensci/riem/stargazers\",\"contributors_url\":\"https://api.github.com/repos/ropensci/riem/contributors\",\"subscribers_url\":\"https://api.github.com/repos/ropensci/riem/subscribers\",\"subscription_url\":\"https://api.github.com/repos/ropensci/riem/subscription\",\"commits_url\":\"https://api.github.com/repos/ropensci/riem/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/ropensci/riem/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/ropensci/riem/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/ropensci/riem/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/ropensci/riem/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/ropensci/riem/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/ropensci/riem/merges\",\"archive_url\":\"https://api.github.com/repos/ropensci/riem/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/ropensci/riem/downloads\",\"issues_url\":\"https://api.github.com/repos/ropensci/riem/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/ropensci/riem/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/ropensci/riem/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/ropensci/riem/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/ropensci/riem/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/ropensci/riem/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/ropensci/riem/deployments\",\"created_at\":\"2016-04-22T14:00:06Z\",\"updated_at\":\"2025-02-04T13:27:00Z\",\"pushed_at\":\"2025-02-04T13:26:56Z\",\"git_url\":\"git://github.com/ropensci/riem.git\",\"ssh_url\":\"git@github.com:ropensci/riem.git\",\"clone_url\":\"https://github.com/ropensci/riem.git\",\"svn_url\":\"https://github.com/ropensci/riem\",\"homepage\":\"https://docs.ropensci.org/riem\",\"size\":5018,\"stargazers_count\":45,\"watchers_count\":45,\"language\":\"R\",\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":true,\"has_discussions\":false,\"forks_count\":14,\"mirror_url\":null,\"archived\":false,\"disabled\":false,\"open_issues_count\":2,\"license\":null,\"allow_forking\":true,\"is_template\":false,\"web_commit_signoff_required\":false,\"topics\":[\"airports\",\"asos\",\"iowa-environment-mesonet\",\"metar\",\"peer-reviewed\",\"r\",\"r-package\",\"rstats\",\"temperature\",\"weather\",\"weather-api\"],\"visibility\":\"public\",\"forks\":14,\"open_issues\":2,\"watchers\":45,\"default_branch\":\"main\",\"permissions\":{\"admin\":true,\"maintain\":true,\"push\":true,\"triage\":true,\"pull\":true},\"temp_clone_token\":\"\",\"allow_squash_merge\":true,\"allow_merge_commit\":true,\"allow_rebase_merge\":true,\"allow_auto_merge\":false,\"delete_branch_on_merge\":false,\"allow_update_branch\":true,\"use_squash_pr_title_as_default\":false,\"squash_merge_commit_message\":\"COMMIT_MESSAGES\",\"squash_merge_commit_title\":\"COMMIT_OR_PR_TITLE\",\"merge_commit_message\":\"PR_TITLE\",\"merge_commit_title\":\"MERGE_MESSAGE\",\"custom_properties\":{},\"organization\":{\"login\":\"ropensci\",\"id\":1200269,\"node_id\":\"MDEyOk9yZ2FuaXphdGlvbjEyMDAyNjk=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/1200269?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/ropensci\",\"html_url\":\"https://github.com/ropensci\",\"followers_url\":\"https://api.github.com/users/ropensci/followers\",\"following_url\":\"https://api.github.com/users/ropensci/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/ropensci/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/ropensci/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/ropensci/subscriptions\",\"organizations_url\":\"https://api.github.com/users/ropensci/orgs\",\"repos_url\":\"https://api.github.com/users/ropensci/repos\",\"events_url\":\"https://api.github.com/users/ropensci/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/ropensci/received_events\",\"type\":\"Organization\",\"user_view_type\":\"public\",\"site_admin\":false},\"security_and_analysis\":{\"secret_scanning\":{\"status\":\"disabled\"},\"secret_scanning_push_protection\":{\"status\":\"disabled\"},\"dependabot_security_updates\":{\"status\":\"disabled\"},\"secret_scanning_non_provider_patterns\":{\"status\":\"disabled\"},\"secret_scanning_validity_checks\":{\"status\":\"disabled\"}},\"network_count\":14,\"subscribers_count\":10}"),
19+
cache = new.env(parent = emptyenv())), class = "httr2_response")

0 commit comments

Comments
 (0)