Skip to content

Commit 71da618

Browse files
authored
Refactor make_engine_list() to refine docs (#663)
* Refactor `make_engine_list()` to refine docs * Sort modes, remove unnecessary `and` * Make nicer `fit()` link * Redocument
1 parent f9fbcea commit 71da618

31 files changed

+51
-37
lines changed

R/engine_docs.R

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -209,30 +209,44 @@ make_engine_list <- function(mod) {
209209
exts <-
210210
utils::read.delim(system.file("models.tsv", package = "parsnip")) %>%
211211
dplyr::filter(model == mod) %>%
212-
dplyr::group_by(engine) %>%
213-
dplyr::summarize(extensions = sum(!is.na(pkg))) %>%
212+
dplyr::group_by(engine, mode) %>%
213+
dplyr::summarize(extensions = sum(!is.na(pkg)), .groups = "drop") %>%
214214
dplyr::mutate(
215215
has_ext = ifelse(extensions > 0, cli::symbol$sup_2, "")
216216
)
217217
eng <- dplyr::left_join(eng, exts, by = "engine")
218218

219219

220-
eng <-
220+
eng_table <-
221221
eng %>%
222222
dplyr::arrange(.order) %>%
223+
dplyr::select(-mode) %>%
224+
dplyr::distinct(engine, .keep_all = TRUE) %>%
223225
dplyr::mutate(
224226
item = glue::glue(" \\item \\code{\\link[|topic|]{|engine|}|default||has_ext|}",
225227
.open = "|", .close = "|")
226-
) %>%
227-
dplyr::distinct(item)
228+
)
228229

229230
notes <- paste0("\n", cli::symbol$sup_1, " The default engine.")
230231
if (any(exts$has_ext != "")) {
231-
notes <- paste0(notes, " ", cli::symbol$sup_2, " May require a parsnip extension package.")
232+
if (dplyr::n_distinct(exts$mode) > 1) {
233+
ext_modes <- exts %>%
234+
dplyr::filter(has_ext != "") %>%
235+
dplyr::pull(mode) %>%
236+
unique() %>%
237+
sort() %>%
238+
knitr::combine_words()
239+
notes <- paste0(
240+
notes, " ",
241+
cli::symbol$sup_2, " Requires a parsnip extension package for ",
242+
ext_modes, ".")
243+
} else {
244+
notes <- paste0(notes, " ", cli::symbol$sup_2, " Requires a parsnip extension package.")
245+
}
232246
}
233247

234248

235-
items <- glue::glue_collapse(eng$item, sep = "\n")
249+
items <- glue::glue_collapse(eng_table$item, sep = "\n")
236250
res <- glue::glue("|main|\n\\itemize{\n|items|\n}\n\n |notes|",
237251
.open = "|", .close = "|")
238252
res

man-roxygen/spec-details.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
#' This function only defines what _type_ of model is being fit. Once an engine
33
#' is specified, the _method_ to fit the model is also defined.
44
#'
5-
#' The model is not trained or fit until the [fit.model_spec()] function is used
5+
#' The model is not trained or fit until the [`fit()`][fit.model_spec()] function is used
66
#' with the data.

man/C5_rules.Rd

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/bag_mars.Rd

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/bag_tree.Rd

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/bart.Rd

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/boost_tree.Rd

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/cubist_rules.Rd

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/decision_tree.Rd

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/discrim_flexible.Rd

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)