Actions
Feature #8273
closedMake it possible to treat objects as falsy in order to make NullObjects more convenient
Feature #8273:
Make it possible to treat objects as falsy in order to make NullObjects more convenient
Status:
Rejected
Assignee:
-
Target version:
-
Description
NullObject is quite a useful pattern. But refactoring from conditionals to null-object can be very painful because an instance of NullObject will be treated as truthy so code ... if obj
can change its behavior. It'd be great to treat such objects as falsy. Most simple and consistent solution is to make method like #to_boolean or may be #__to_bool (not to break compatibility) which returns false for NilClass and FalseClass and true otherwise unless redefined.
I don't know whether perfomance impact'll be high or no.
It's one of a few things which cannot be reimplemented using ruby itself, so there is no possibility to construct a gem as a PoC
Actions