Skip to content

Commit

Permalink
version 0.9.0
Browse files Browse the repository at this point in the history
  • Loading branch information
sckott authored and cran-robot committed Jul 29, 2020
1 parent a20802a commit b2bc940
Show file tree
Hide file tree
Showing 46 changed files with 1,259 additions and 2,240 deletions.
16 changes: 8 additions & 8 deletions DESCRIPTION
@@ -1,16 +1,16 @@
Package: gistr
Title: Work with 'GitHub' 'Gists'
Description: Work with 'GitHub' 'gists' from 'R' (e.g.,
<http://en.wikipedia.org/wiki/GitHub#Gist>,
<https://help.github.com/articles/about-gists/>). A 'gist'
<https://en.wikipedia.org/wiki/GitHub#Gist>,
<https://docs.github.com/en/github/writing-on-github/creating-gists/>). A 'gist'
is simply one or more files with code/text/images/etc. This package allows
the user to create new 'gists', update 'gists' with new files, rename files,
delete files, get and delete 'gists', star and 'un-star' 'gists', fork 'gists',
open a 'gist' in your default browser, get embed code for a 'gist', list
'gist' 'commits', and get rate limit information when 'authenticated'. Some
requests require authentication and some do not. 'Gists' website:
<https://gist.github.com/>.
Version: 0.5.0
Version: 0.9.0
Authors@R: c(
person("Scott", "Chamberlain", role = c("aut", "cre"),
email = "myrmecocystus@gmail.com",
Expand All @@ -25,19 +25,19 @@ BugReports: https://github.com/ropensci/gistr/issues
VignetteBuilder: knitr
Encoding: UTF-8
Language: en-US
Imports: jsonlite (>= 1.4), httr (>= 1.2.0), magrittr, assertthat,
knitr, rmarkdown, dplyr
Imports: jsonlite, crul, httr, magrittr, assertthat, knitr, rmarkdown,
dplyr
Suggests: git2r, testthat
RoxygenNote: 7.0.2
RoxygenNote: 7.1.1
X-schema.org-applicationCategory: Web
X-schema.org-keywords: http, https, API, web-services, GitHub, GitHub
API, gist, gists, code, script, snippet
X-schema.org-isPartOf: https://ropensci.org
NeedsCompilation: no
Packaged: 2020-01-09 18:21:03 UTC; sckott
Packaged: 2020-07-28 22:45:33 UTC; sckott
Author: Scott Chamberlain [aut, cre] (<https://orcid.org/0000-0003-1444-9135>),
Ramnath Vaidyanathan [aut],
Karthik Ram [aut]
Maintainer: Scott Chamberlain <myrmecocystus@gmail.com>
Repository: CRAN
Date/Publication: 2020-01-09 22:50:06 UTC
Date/Publication: 2020-07-29 05:10:15 UTC
88 changes: 43 additions & 45 deletions MD5
@@ -1,33 +1,33 @@
8f5132925de30a79347556875375dce5 *DESCRIPTION
685637581bc0840e3a8dc54113c12684 *DESCRIPTION
35bd8606c71dfbfad3ad27387e177ad4 *LICENSE
62683e3e47c2eaa65c0d92c0a6e2ba82 *NAMESPACE
294c9675d40de36bb04026262b2f5ffc *NEWS.md
68ab24e49b7175080b114eea3a507b71 *NAMESPACE
8f86a5f03233459b2bb9fdc4337d28d0 *NEWS.md
11863e3fcfb542966ab582466bff77fb *R/add_files.R
81456be9dbaa18152cafbe853fcf237b *R/browse.R
2132f3ccac5ba8c16243f88cca225f94 *R/commits.R
8a862eb23f131cd71bb60a41719abd2c *R/delete.R
ceed5bf4be1253c97957b167c03284f4 *R/commits.R
8b72715b863c85b7005b4be40c2f93c6 *R/delete.R
280d94e029aa071ef37c81bc38129c28 *R/embed.R
8f36b38caba822fea042588b9df18b62 *R/forks.R
80be90753d462c1e17eca81a83a69462 *R/gist.R
d0d67d237661c2c9969be1c99c9d87f4 *R/gist_auth.R
13fa76a2bec9f2e4502f54ab8c7e58bf *R/gist_create.R
e7246bda68652b1ffe0359a2154c544c *R/gist_create_git.R
9b0c80b6445997334179c0810aeb3ad6 *R/gist_create_obj.R
989bf83d413511736c7ffe84f03d1994 *R/forks.R
8a017a9e1596ab20d1f436215caedeb1 *R/gist.R
cd3861fd9d8e27c8e26edf0f53dd2a38 *R/gist_auth.R
f17bf83e37a6e9d784d559f1dd4d7dfd *R/gist_create.R
2b23eaee929838566111124e69470d99 *R/gist_create_git.R
87ed41e3c077edf5acec79113d5ad413 *R/gist_create_obj.R
1ae35114829028c0adc7777f8fc4955e *R/gist_map.R
0ab7a5753ce3a40162957720f3e48c00 *R/gist_save.R
b2631953a3b68ba38b7da76ab648c639 *R/gistr-package.R
c1d9b6c74c3785922ee7fd449ec26189 *R/gists.R
21ae6d51f38a5c7f45349964d8531f4f *R/rate_limit.R
e2ce7fb5fde1e186c62bf9cb18f07a70 *R/run.R
80e1b5f0b618d328524b20a254035bc1 *R/star.R
ae0c4c05e48cb3bb1c8069e9eb4fbbc1 *R/gistr-package.R
04601582085ee7f5db62b90e9e2d3ec9 *R/gists.R
8a6bb001aa241a6042cd60b2dbf4b1be *R/rate_limit.R
ee65995372ebcfa979ba8f25db20e12a *R/run.R
0f33b4f414e563f8b203314e9b9882b6 *R/star.R
70c21ca4b8fbe1907ea7917d47127fbe *R/tabl.R
89f27208bbe33c4d2eda8f5080bca7fb *R/update.R
4434ef10e2531038b97136ea04cccd47 *R/utils.R
f853c4cd7764c781d0f55eff13c4060d *R/zzz.R
51b9a73b90018bba814a3d7370663ffc *README.md
ace779b932107622b5775d7b6352a7f6 *build/vignette.rds
6d2c6083a553d69ea45d7f6e99447657 *inst/doc/gistr.Rmd
389ada21269ac9df16f6f3e874aa863d *inst/doc/gistr.html
04003e86ad496d54e010a7f5a937b139 *R/zzz.R
6042261e3b5db601da49648530597362 *README.md
43198e1a40db980f84fc8110065e920b *build/vignette.rds
4843ace959623f3c25fe04c8d9ea9efc *inst/doc/gistr.Rmd
4bc2a3bf679b27557426eb8700ab7a5f *inst/doc/gistr.html
5e8d191653fabf940e83fc8b652ced6e *inst/examples/alm.md
1275996ea246b818a2996e969cb104bf *inst/examples/artifacts_eg1.Rmd
ed65765d86c6b2a337f236b324534c95 *inst/examples/ecoengine_eg.geojson
Expand All @@ -40,7 +40,7 @@ b05e21a6d88dd34fd62c65417b2afc28 *inst/examples/file.png
eb1c172ff3269322633791a75cb5cd1e *inst/examples/plots.md
6a15a53b5b9f71c9c3b34e837886d69a *inst/examples/plots_imgur.Rmd
25891c43fb4a5bcf48c6f8c912487b3f *inst/examples/plots_imgur.Rnw
fe404fd5727070b02c85a21b9dae95f6 *inst/examples/plots_imgur.md
517d008b6edf2ee56cd742be7c26d82d *inst/examples/plots_imgur.md
76fa742eb3bb458c42b2586d8d05d677 *inst/examples/rmarkdown_eg.Rmd
c1f87da976ae368c2c7b17367858d399 *inst/examples/rnw_example.Rnw
1694aa81a6dbc620f9abacb7b4d098a6 *inst/examples/stuff.Rmd
Expand All @@ -49,44 +49,42 @@ b6fa87ece72a12a9feef4832573a8547 *inst/examples/zoo.json
f1b36ab189f3e70d73a9d67c4a773d3e *inst/ignore/clean_gists.R
83fcc5fb0445f9c3af828c4b03fa4e05 *inst/ignore/gist_create_git.R
71f1d3b9a75ace2635653e85233615c5 *inst/img/gistr_ss.png
5166e38ad4fdfdf8300bee79cdf855a5 *inst/vign/gistr.Rmd
396ab6249e7beff3b362fa55a7aba364 *inst/vign/gistr.md
71f1d3b9a75ace2635653e85233615c5 *inst/vign/img/gistr_ss.png
bac75f13df447127e504c07760ee3747 *man/browse.Rd
84aabae4438e3f375841381e0c7607ab *man/commits.Rd
15ac07e5b3fd3a80b1f2b7846f9489e5 *man/commits.Rd
a89f2c81e6a9f64f39afcb62c3666b8a *man/create_gists.Rd
228d7ba476829033010094f185c73959 *man/delete.Rd
d281ee18d8c718d4cc6dde05daa72917 *man/delete.Rd
593200c0ebdec04c838ddb06430f7f44 *man/embed.Rd
ce61fd6157f6e95df24028fea3776b0b *man/files.Rd
1d0d824ef99c694d4d71c7a95821e02f *man/fork.Rd
0dc43cbd13338038668aea8a14cf741f *man/forks.Rd
6c25c668ed01d6e8aba59945fa378099 *man/gist.Rd
9d12f188854f725a91658ca4c9e26ccf *man/files.Rd
0f97d99b58107407da0f6258147ccf24 *man/fork.Rd
43eb49641d7adc30b952a4c5c762fa9e *man/forks.Rd
bd473c4454f3caeb1cdec4b819f11dc8 *man/gist.Rd
ffaabb6730199aa16ad7cc77ec9e36e9 *man/gist_auth.Rd
aad6a0b0017aa991b3960ec005622a01 *man/gist_create.Rd
5104a3c01cb5750199628a9a72f3e999 *man/gist_create_git.Rd
af26d069c1f77b138af2f0f684e2fbfc *man/gist_create_obj.Rd
2f8ff5f5e2b0f3f025a0668fa1764803 *man/gist_create.Rd
e9ffaa048e450f54e4daaab3d10f090a *man/gist_create_git.Rd
5333c94957827157194efc33fb7ae19a *man/gist_create_obj.Rd
35297effc662a43582153c33e291258c *man/gist_map.Rd
3e3c7891c95423723ea4d56934d2de89 *man/gist_save.Rd
4de523b103f3bf314f46f5fe15fb3194 *man/gistr-package.Rd
bb91702f384f0f1209046a354c8e66d6 *man/gists.Rd
aafa2033528243ce86fb896d8d814448 *man/gistr-package.Rd
8f1ad218ea95b8e5fcac2b37e8079d8a *man/gists.Rd
a64a7ea44fcaa33c2d3ad0f7909cbc3e *man/pipe.Rd
c0216473e45341a2125d06940c8c58cb *man/rate_limit.Rd
761272ace07a115c1f4d9fb342b4fe86 *man/rate_limit.Rd
6f77f6a6692fb6eb56f8eca5a1cfb501 *man/run.Rd
da91e633ee0741c8f522bedde981f8dd *man/star.Rd
37fe42f6f8b01691d3b6b9743dbf1487 *man/star.Rd
b4f31fd360d9538f36357d86c29ef7e7 *man/tabl.Rd
2f401d44bc4a15490f81adae15592cba *man/update.Rd
d6a5e633a0afffba7b071d9923f49d49 *man/update.Rd
a790703d07775f53a14de5c5223d370c *tests/localtests/test-gist_create.R
adeb6046d172a1bd6f794d1913fbfa8e *tests/test-all.R
a995038d6ebc73774540e16bcba59dd5 *tests/testthat/test-commits.R
001326b2d4d6e8078bcac23abf8bf146 *tests/testthat/test-commits.R
8c6a98654159c7d750fdcd8e685cd8f6 *tests/testthat/test-delete.R
ddeb4c3f3a8b75d45d6edabf5e22281d *tests/testthat/test-embed.R
f69dc882d8fab835a4afbca6f5410b6d *tests/testthat/test-fork.R
fbb2a87fb0317357b72dd3f3b3685fed *tests/testthat/test-gist.R
60e582abf9182b752473a4982c3773bc *tests/testthat/test-gist_create_git.R
6a3b39ff56aa9342167ece04021e8531 *tests/testthat/test-fork.R
3652b2e6c1c6b8712fdf599ab1d9eda5 *tests/testthat/test-gist.R
43b046d2f670eb94955c1e88254471bc *tests/testthat/test-gist_create_git.R
5d646573ab0d14bc7ed65930878a6ef2 *tests/testthat/test-gist_create_obj.R
bcc183ba5176daa8c9f3c8ba50275f86 *tests/testthat/test-gist_save.R
f2b1e5818fe1e588719a06dc47b72f38 *tests/testthat/test-gists.R
beee224be33e253ef6590d4ff747f89d *tests/testthat/test-gists.R
6922dcf7d8810995ff9cc3c205cf5b31 *tests/testthat/test-rate_limit.R
43870934f461a3b22194b8ef9ab1ad78 *tests/testthat/test-star.R
ade0ce498dfdac53076053a731271d79 *tests/testthat/test-update.R
6d2c6083a553d69ea45d7f6e99447657 *vignettes/gistr.Rmd
4843ace959623f3c25fe04c8d9ea9efc *vignettes/gistr.Rmd
1a08dd54e73ac1bb02d54f40df82352b *vignettes/gistr.Rmd.og
14 changes: 6 additions & 8 deletions NAMESPACE
Expand Up @@ -48,18 +48,16 @@ export(update)
export(update_files)
importFrom(assertthat,assert_that)
importFrom(assertthat,has_extension)
importFrom(crul,HttpClient)
importFrom(dplyr,as_data_frame)
importFrom(dplyr,bind_rows)
importFrom(httr,DELETE)
importFrom(httr,GET)
importFrom(httr,PATCH)
importFrom(httr,POST)
importFrom(httr,PUT)
importFrom(httr,add_headers)
importFrom(httr,content)
importFrom(httr,stop_for_status)
importFrom(httr,warn_for_status)
importFrom(httr,config)
importFrom(httr,oauth2.0_token)
importFrom(httr,oauth_app)
importFrom(httr,oauth_endpoints)
importFrom(jsonlite,flatten)
importFrom(jsonlite,fromJSON)
importFrom(knitr,knit)
importFrom(magrittr,"%>%")
importFrom(rmarkdown,render)
10 changes: 10 additions & 0 deletions NEWS.md
@@ -1,3 +1,13 @@
gistr 0.9.0
===============

### MINOR IMPROVEMENTS

* replace httr with crul for all but the oauth handling (#68)
* fix to internal fxn `stopstatus()` to handle correctly detecting scope header issues (#82)
* fixed old urls that have changed


gistr 0.5.0
===============

Expand Down
2 changes: 1 addition & 1 deletion R/commits.R
Expand Up @@ -5,7 +5,7 @@
#' @param page (integer) Page number to return.
#' @param per_page (integer) Number of items to return per page.
#' Default 30. Max 100.
#' @param ... Further named args to [httr::GET()]
#' @param ... Further named args to [crul::verb-GET]
#' @examples \dontrun{
#' gists()[[1]] %>% commits()
#' gist(id = '1f399774e9ecc9153a6f') %>% commits(per_page = 5)
Expand Down
2 changes: 1 addition & 1 deletion R/delete.R
Expand Up @@ -11,6 +11,6 @@ delete <- function(gist, ...) {
gist <- as.gist(gist)
res <- gist_DELETE(paste0(ghbase(), '/gists/', gist$id),
auth = gist_auth(), headers = ghead(), ...)
stop_for_status(res)
res$raise_for_status()
message('Your gist has been deleted')
}
13 changes: 4 additions & 9 deletions R/forks.R
Expand Up @@ -5,7 +5,7 @@
#' @param page (integer) Page number to return.
#' @param per_page (integer) Number of items to return per page. Default 30.
#' Max 100.
#' @param ... Further named args to [httr::GET()]
#' @param ... Further named args to [crul::verb-GET]
#' @return A list of gist class objects
#' @examples \dontrun{
#' gist(id='1642874') %>% forks(per_page=2)
Expand All @@ -28,19 +28,14 @@ forks <- function(gist, page=NULL, per_page=30, ...) {
#'
#' @export
#' @param gist A gist object or something coerceable to a gist
#' @param ... Further named args to \code{\link[httr]{GET}}
#' @param ... Further named args to [crul::verb-GET]
#' @return A gist class object
#' @examples \dontrun{
#' # fork a gist
#' gists()[[1]] %>% fork()
#' w <- gists()[[1]] %>% fork()
#'
#' # browse to newly forked gist
#' gist(id='0831f3fbd83ac4d46451') %>% fork() %>% browse()
#'
#' # extract the last one
#' gist(id='1642874') %>%
#' forks() %>%
#' .[length(.)]
#' browse(w)
#' }

fork <- function(gist, ...) {
Expand Down
1 change: 0 additions & 1 deletion R/gist.R
Expand Up @@ -47,7 +47,6 @@
#' (bigfile <- gist(id = "b74b878fd7d9176a4c52"))
#' ## then get the raw_url, and retrieve the file
#' url <- bigfile$files$`plossmall.json`$raw_url
#' # httr::GET(url)
#' }

gist <- function(id, revision = NULL, ...){
Expand Down
6 changes: 4 additions & 2 deletions R/gist_auth.R
Expand Up @@ -26,7 +26,7 @@
gist_auth <- function(app = gistr_app, reauth = FALSE) {

if (exists("auth_config", envir = cache) && !reauth) {
return(cache$auth_config)
return(undo(cache$auth_config$headers))
}
pat <- Sys.getenv("GITHUB_PAT", "")
if (!identical(pat, "")) {
Expand All @@ -41,9 +41,11 @@ gist_auth <- function(app = gistr_app, reauth = FALSE) {
auth_config <- httr::config(token = token)
}
cache$auth_config <- auth_config
auth_config
undo(auth_config$headers)
}

undo <- function(x) unclass(as.list(unclass(x)))

cache <- new.env(parent = emptyenv())

gistr_app <- httr::oauth_app(
Expand Down
6 changes: 2 additions & 4 deletions R/gist_create.R
Expand Up @@ -43,10 +43,8 @@
#' ```
#' '}, knit=TRUE)
#'
#' library('httr')
#' url <- "https://github.com/ropensci/geojsonio/blob/master/inst/examples/zillow_or.geojson"
#' res <- httr::GET(url)
#' json <- httr::content(res, as = "text")
#' url <- "https://raw.githubusercontent.com/ropensci/geojsonio/master/inst/examples/zillow_or.geojson"
#' json <- crul::HttpClient$new(url)$get()$parse("UTF-8")
#' gist_create(code = json, filename = "zillow_or.geojson")
#'
#' # Knit and include source file, so both files are in the gist
Expand Down
28 changes: 14 additions & 14 deletions R/gist_create_git.R
Expand Up @@ -248,21 +248,21 @@ unpack <- function(z) {
}

cgist <- function(description, public) {
res <- httr::POST(paste0(ghbase(), '/gists'),
gist_auth(),
encode = "json",
body = jsonlite::toJSON(list(
description = description,
public = public,
files = list(
".gistr" = list(
content = "gistr"
)
)
), auto_unbox = TRUE)
gist_POST(
paste0(ghbase(), '/gists'),
gist_auth(),
ghead(),
body = jsonlite::toJSON(list(
description = description,
public = public,
files = list(
".gistr" = list(
content = "gistr"
)
)
), auto_unbox = TRUE),
encode = "json"
)
stopstatus(res)
jsonlite::fromJSON(httr::content(res, "text", encoding = "UTF-8"), FALSE)
}

all_artifacts <- function(x) {
Expand Down
2 changes: 1 addition & 1 deletion R/gist_create_obj.R
Expand Up @@ -10,7 +10,7 @@
#' @param pretty (logical) For data.frame and matrix objects, create
#' a markdown table. If FALSE, pushes up json. (default: `TRUE`)
#' @param filename Name of the file to create. Default: `file.txt`
#' @param ... Further args passed on to [httr::POST()]
#' @param ... Further args passed on to [crul::verb-POST]
#' @details This function is specifically for going from R objects to a gist,
#' whereas [gist_create()] is for going from files or executing code
#' @seealso [gist_create()], [gist_create_git()]
Expand Down
8 changes: 4 additions & 4 deletions R/gistr-package.R
Expand Up @@ -6,7 +6,7 @@
#' There are two ways to authorise gistr to work with your GitHub account:
#'
#' - Generate a personal access token (PAT) at
#' <https://help.github.com/articles/creating-an-access-token-for-command-line-use>
#' <https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token>
#' and record it in the `GITHUB_PAT` envar.
#' - Interactively login into your GitHub account and authorise with OAuth.
#'
Expand All @@ -15,11 +15,11 @@
#' @importFrom magrittr %>%
#' @importFrom knitr knit
#' @importFrom rmarkdown render
#' @importFrom httr GET POST PATCH PUT DELETE content stop_for_status
#' add_headers warn_for_status
#' @importFrom crul HttpClient
#' @importFrom httr add_headers oauth_endpoints oauth2.0_token config oauth_app
#' @importFrom assertthat assert_that has_extension
#' @importFrom dplyr bind_rows as_data_frame
#' @importFrom jsonlite flatten
#' @importFrom jsonlite fromJSON flatten
#' @name gistr-package
#' @aliases gistr
#' @docType package
Expand Down
3 changes: 1 addition & 2 deletions R/gists.R
Expand Up @@ -33,8 +33,7 @@
#' # Your starred gists
#' gists('starred')
#' # pass in curl options
#' gists(per_page=1, config=verbose())
#' gists(per_page=1, config=timeout(seconds = 0.5))
#' gists(per_page=1, verbose=TRUE)
#' }

gists <- function(what='public', since=NULL, page=NULL, per_page=30, ...) {
Expand Down
2 changes: 1 addition & 1 deletion R/rate_limit.R
@@ -1,7 +1,7 @@
#' Get rate limit information
#'
#' @export
#' @param ... Named args to [httr::GET()]
#' @param ... Named args to [crul::verb-GET]
#' @examples \dontrun{
#' rate_limit()
#' }
Expand Down

0 comments on commit b2bc940

Please sign in to comment.