ruby - Predicate method syntax -
i made class these methods:
def promotion_available? promotion.present? end def promotion @promotion ||= promotionuser.user(@user.id).available.first end
then, colleague removed promotion
method, , changed predicate promotion_available?
in way:
def promotion_available? @promotion ||= promotionuser.user(@user.id).available.first end
- can set instance variable directly on predicate method?
- can predicate method return entire object instead of
true
/false
(i think no, colleague says opposite)?
can set instance variable directly on predicate method?
yes, there's nothing wrong it. often.
can predicate method return entire object instead of tre/false (i think no, colleague says opposite)
yes, common. works if use idiomatic ruby truthiness checks.
if obj.promotion_available? # if obj.promotion_available? == true # bad!
remember, nil
, false
in ruby falsey values. else true. why returning object or nil works kinda returning true or false.
Comments
Post a Comment