class RuboCop::Cop::Rails::SafeNavigationWithBlank
do_something unless foo.blank?
do_something if foo.blank?
# good
do_something unless foo&.blank?
do_something if foo&.blank?
# bad
@example
—-
foo.blank? #=> true
foo&.blank? #=> nil
—-
[source,ruby]
For example:
do the opposite of what the author intends.
checking ‘foo&.blank?` in a conditional, `foo` being `nil` will actually
While the safe navigation operator is generally a good idea, when
@safety
a conditional.
Checks to make sure safe navigation isn’t used with ‘blank?` in
def on_if(node)
def on_if(node) return unless safe_navigation_blank_in_conditional?(node) add_offense(node) do |corrector| corrector.replace(safe_navigation_blank_in_conditional?(node).location.dot, '.') end end