etl
etl copied to clipboard
kill etl_create()?
This is more problematic than I thought.
etl_create.default <- function(obj, ...) {
obj <- obj %>%
etl_init(...) %>%
etl_update(...) %>%
etl_cleanup(...)
invisible(obj)
}
The problem is that these functions do not necessarily take the same arguments, so it's easy to pass unknown arguments to functions that don't take them, leading to unused argument errors.
I'm wondering if anything is lost if we simply remove etl_create. This would mean that users would have to call etl_init() explicitly if they wanted to initialize or re-initialize the database.
Note that as per #16 neither @nicholasjhorton nor @cpsievert like this function anyway.
Have you considered using formals to filter for certain arguments?
I haven't. How would it work here?
If you call dots <- c(x[which(names(list(...)) %in% names(formals(etl_init)))]), for example, you could then call etl_inti(dots) and it would only contain arguments that are defined for etl_init etc.
Right. I will think about this -- thanks!