Open pelletencate opened 6 years ago
Hmm... sort of, but this feels pretty like it would cause unexpected problems that would be really hard to figure out what went wrong. Plus, then we'd have to support !field.nil?
to produce an IS NOT NULL
query.
I would rather add is_null(field)
and is_not_null(field)
One problem with field == nil
is that RuboCop keeps trying to replace it with .nil?
!
Yeah, the initial reason why I proposed this change was Rubocop complaining. I feel kinda stupid not thinking about !field.nil?
, that's a more legit concern than whatever I have.
tbh, is_null
or is_not_null
, while it would please rubocop, would in my opinion be a step in the wrong direction. A better thing would be to have @bbatsov et al join in, to think about the possibility to provide a custom rubocop plug with your gem, or – more generally – if there's anything that would help accommodate cases (a/o DSL) where the ==
operator gets overloaded.
Besides, Rubocop also complains about == 0
. And making an is_zero?(field)
and is_not_zero?(field)
, would be even more unnecessary.
One problem with field == nil is that RuboCop keeps trying to replace it with .nil? !
That's configurable. :) Obviously a static analyzer can't really figure out that something might be a special DSL. I think in such situations you can just exclude the DSL files from the checks and be done with it.
Right now, in order to check if something IS NULL, I have to use
field == nil
in the DSL. Wouldn't it be more ruby-esque to be able to sayfield.nil?
instead?