Skip to content

Commit 53d40f9

Browse files
committed
basic translate is working
1 parent 05f7eff commit 53d40f9

File tree

1 file changed

+18
-11
lines changed

1 file changed

+18
-11
lines changed

R/translate.R

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -53,25 +53,32 @@ translate.default <- function(x, engine = x$engine, ...) {
5353
if (is.null(engine))
5454
stop("Please set an engine.", call. = FALSE)
5555

56+
mod_name <- specific_model(x)
57+
5658
x$engine <- engine
5759
x <- check_engine(x)
5860

61+
# TODOS
62+
# what to do with unknown mode?
63+
if (x$mode == "unknown") {
64+
stop("Model code depends on the mode; please specify one.", call. = FALSE)
65+
}
66+
# set the classes. Is a constructor not being used?
5967
if (is.null(x$method))
60-
x <- get_method(x, engine, ...)
68+
x$method <- get_model_spec(mod_name, x$mode, engine)
6169

62-
arg_key <- get_module(specific_model(x))
70+
arg_key <- get_args(mod_name, engine)
6371

6472
# deharmonize primary arguments
65-
actual_args <- deharmonize(x$args, arg_key, x$engine)
73+
actual_args <- unionize(x$args, arg_key)
6674

6775
# check secondary arguments to see if they are in the final
6876
# expression unless there are dots, warn if protected args are
6977
# being altered
70-
eng_arg_key <- arg_key[[x$engine]]
71-
x$eng_args <- check_eng_args(x$eng_args, x$method$fit, eng_arg_key)
78+
x$eng_args <- check_eng_args(x$eng_args, x$method$fit, arg_key$original)
7279

7380
# keep only modified args
74-
modifed_args <- !vapply(actual_args, null_value, lgl(1))
81+
modifed_args <- purrr::map_lgl(actual_args, null_value)
7582
actual_args <- actual_args[modifed_args]
7683

7784
# look for defaults if not modified in other
@@ -150,23 +157,23 @@ check_mode <- function(object, lvl) {
150157

151158
get_model_spec <- function(model, mode, engine) {
152159
m_env <- get_model_env()
153-
env_obj <- env_names(m_env)
160+
env_obj <- rlang::env_names(m_env)
154161
env_obj <- grep(model, env_obj, value = TRUE)
155162

156163
res <- list()
157164
res$libs <-
158-
env_get(m_env, paste0(model, "_pkgs")) %>%
165+
rlang::env_get(m_env, paste0(model, "_pkgs")) %>%
159166
purrr::pluck("pkg") %>%
160167
purrr::pluck(1)
161168

162169
res$fit <-
163-
env_get(m_env, paste0(model, "_fit")) %>%
170+
rlang::env_get(m_env, paste0(model, "_fit")) %>%
164171
dplyr::filter(mode == !!mode & engine == !!engine) %>%
165172
dplyr::pull(value) %>%
166173
purrr:::pluck(1)
167174

168175
pred_code <-
169-
env_get(m_env, paste0(model, "_predict")) %>%
176+
rlang::env_get(m_env, paste0(model, "_predict")) %>%
170177
dplyr::filter(mode == !!mode & engine == !!engine) %>%
171178
dplyr::select(-engine, -mode)
172179

@@ -178,7 +185,7 @@ get_model_spec <- function(model, mode, engine) {
178185

179186
get_args <- function(model, engine) {
180187
m_env <- get_model_env()
181-
env_get(m_env, paste0(model, "_args")) %>%
188+
rlang::env_get(m_env, paste0(model, "_args")) %>%
182189
dplyr::select(-engine)
183190
}
184191

0 commit comments

Comments
 (0)