Description Usage Arguments Examples
Gather tags
| 1 2 3 4 5 | gather_tags(x, token = NULL)
gather_files(x, token = NULL)
gather_release(x, token = NULL)
 | 
| x | a github repository in the form  | 
| token | A GitHub PAT - can just pull your stored PAT from  | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | ## Not run: 
pkgs <- ropensci_pkgs()
# get tags
gather_tags(pkgs$owner_repo[[15]])
# get sha of lastest commit
last_sha(pkgs$owner_repo[[15]])
# get files
gather_files(pkgs$owner_repo[[15]])
# get latest release
gather_release(pkgs$owner_repo[[15]])
# get maintainer and their emails
library("ropkgs")
library("dplyr")
df <- ro_pkgs()
# do analysis
## get cran data
pkgnames <- df$packages %>%
  filter(on_cran) %>%
  .$name
res <- gather_crans(pkgnames)
crandat <- dplyr::bind_rows(res) %>%
   dplyr::rename(version = name, name = pkg, version_date = date)
## get github data
github_dat <- lapply(pkgs$owner_repo, function(x) {
  tags <- gather_tags(x)
  files <- gather_files(x)
  data.frame(pkg = strsplit(x, "/")[[1]][2],
             owner_repo = x,
             no_tags = NROW(tags),
             latest_tag = if (inherits(tags, "data.frame")) tags[1, "name"] else NA,
             has_news = any(grepl("NEWS", files$path)),
             release = gather_release(x),
             stringsAsFactors = FALSE)
})
out <- tbl_df(bind_rows(github_dat)) %>%
  dplyr::rename(name = pkg) %>%
  left_join(df$packages %>% select(name, maintainer, email, on_cran)) %>%
  left_join(crandat %>% group_by(name) %>% top_n(1) %>% ungroup())
# on CRAN, but no news file
out %>%
  filter(on_cran, !has_news)
# on CRAN, but no git tags
out %>%
  filter(on_cran, no_tags == 0)
# on CRAN, git tags, but no releases
out %>%
  filter(on_cran, no_tags > 0, nchar(release) == 0) %>% arrange(has_news)
# does the most recent CRAN version have a github repo release
## github releases ahead of CRAN verions should be fine
## it's CRAN versions ahead of github releases that's of concern
out %>%
  filter(on_cran, version != "archived", !is.na(latest_tag)) %>%
  select(name, latest_tag, version) %>%
  mutate(latest_tag = gsub("[A-Za-z]|-|\\.0$|\\.0\\.0$", "", latest_tag)) %>%
  mutate(version = gsub("\\.0$|\\.0\\.0$", "", version)) %>%
  mutate(matches = latest_tag == version) %>%
  arrange(matches) %>%
  filter(!matches) %>%
  left_join(out %>% select(name, maintainer, email))
## End(Not run)
 | 
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.