Skip to content

Commit 0abee45

Browse files
committed
Adjust where engine checking happens for better errors
1 parent bc125e9 commit 0abee45

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

R/engines.R

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ check_engine <- function(object) {
1515
if (is.null(object$engine)) {
1616
object$engine <- avail_eng[1]
1717
rlang::warn(glue::glue("`engine` was NULL and updated to be `{object$engine}`"))
18+
} else {
19+
if (!is.character(object$engine) | length(object$engine) != 1)
20+
rlang::abort("`engine` should be a single character value.")
1821
}
1922
if (!(object$engine %in% avail_eng)) {
2023
rlang::abort(
@@ -91,18 +94,18 @@ set_engine <- function(object, engine, ...) {
9194
if (!inherits(object, "model_spec")) {
9295
rlang::abort("`object` should have class 'model_spec'.")
9396
}
94-
if (!is.character(engine) | length(engine) != 1)
95-
rlang::abort("`engine` should be a single character value.")
96-
if (engine == "liquidSVM") {
97+
98+
if (rlang::is_missing(engine)) engine <- NULL
99+
object$engine <- engine
100+
object <- check_engine(object)
101+
102+
if (object$engine == "liquidSVM") {
97103
lifecycle::deprecate_soft(
98104
"0.1.6",
99105
"set_engine(engine = 'cannot be liquidSVM')",
100106
details = "The liquidSVM package is no longer available on CRAN.")
101107
}
102108

103-
object$engine <- engine
104-
object <- check_engine(object)
105-
106109
new_model_spec(
107110
cls = class(object)[1],
108111
args = object$args,

0 commit comments

Comments
 (0)