Nothing
library(tidyverse)
## necessary only during gargle development to get devtools' shim for
## system.file()
load_all()
ddi_dir <- system.file("discovery-doc-ingest", package = "gargle")
source(fs::path(ddi_dir, "ingest-functions.R"))
x <- download_discovery_document("discovery:v1")
ee <- read_discovery_document(x)
# api-wide parameters
ap <- ee %>%
pluck("parameters") %>%
enframe(name = "property", value = "info") %>%
mutate(info = map(info, enframe)) %>%
unnest(cols = info) %>%
spread(key = name, value = value, convert = TRUE) %>%
select(property, type, description, everything()) %>%
write_csv(fs::path(ddi_dir, "api-wide-parameters.csv"))
# properties of a method
mp <- ee %>%
pluck("schemas", "RestMethod", "properties") %>%
enframe(name = "property", value = "info") %>%
mutate(info = map(info, enframe)) %>%
unnest(cols = info) %>%
spread(key = name, value = value, convert = TRUE) %>%
select(property, type, description, everything()) %>%
write_csv(fs::path(ddi_dir, "method-properties.csv"))
# properties of a parameter of a method
pp <- ee %>%
pluck("schemas", "JsonSchema", "properties") %>%
enframe(name = "property", value = "info") %>%
mutate(info = map(info, enframe)) %>%
unnest(cols = info) %>%
spread(key = name, value = value, convert = TRUE) %>%
select(property, type, description, everything()) %>%
write_csv(fs::path(ddi_dir, "parameter-properties.csv"))
make_humane_table <- function(df) {
pad <- function(.x, .n) {
length(.x) <- .n
.x
}
df %>%
select(property, type, description) %>%
mutate(
description = str_wrap(description, width = 45),
description = str_split(description, pattern = "\n"),
n = lengths(description),
property = map2(property, n, pad),
type = map2(type, n, pad),
n = NULL
) %>%
unnest(cols = c(property, type, description)) %>%
replace_na(list(property = "", type = "")) %>%
modify_at(c("property", "type"), ~ format(.x, justify = "left")) %>%
glue::glue_data("{property} {type} {description}")
}
make_humane_table(ap) %>%
write_lines(fs::path(ddi_dir, "api-wide-parameters-humane.txt"))
make_humane_table(mp) %>%
write_lines(fs::path(ddi_dir, "method-properties-humane.txt"))
make_humane_table(pp) %>%
write_lines(fs::path(ddi_dir, "parameter-properties-humane.txt"))
write_lines(mp$property, fs::path(ddi_dir, "api-wide-parameter-names.txt"))
write_lines(mp$property, fs::path(ddi_dir, "method-property-names.txt"))
write_lines(pp$property, fs::path(ddi_dir, "parameter-property-names.txt"))
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.