Pattern: Safe navigation with empty?
Issue: -
While the safe navigation operator is generally a good idea, when checking foo&.empty?
in a conditional, foo
being nil
will actually do the opposite of what the author intends.
# bad
return if foo&.empty?
return unless foo&.empty?
# good
return if foo && foo.empty?
return unless foo && foo.empty?