# Copyright (c) 2018, Brandseye PTY (LTD)
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#' Turn a string creating a vector in to a string of names
#'
#' Takes a string generated by deparse and returns a list of names
#' contained within.
#'
#' @param names A string generated using `deparse` and `substitute`.
#' @param env The environment in which to perform substitutions.
#'
#' @return A vector of characters.
#'
#' @examples
#'
#' \dontrun{
#' get_name_list(deparse(substitute(one)))
#' get_name_list(deparse(substitute(c(one, two))))
#' get_name_list(deparse(substitute(NULL)))
#' }
#'
get_name_list <- function(names, env = parent.frame()) {
if (length(names) > 1) names <- paste(names, collapse = "")
strip_quotes <- function(s) {
val <- s
if (stringr::str_sub(s, 1, 1) == '"') val <- stringr::str_sub(s, 2, -2)
if (stringr::str_count(val, '\\{')) val <- glue::glue(val, .envir = env)
val
}
if (names == "NULL") return(NULL)
if (!startsWith(names, "c(")) return(strip_quotes(names))
names %>%
stringr::str_sub(3, -2) %>%
stringr::str_split(",") %>%
purrr::pluck(1) %>%
stringr::str_trim() %>%
map_chr(strip_quotes)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.