class RuboCop::Cop::Rails::SafeNavigationWithBlank

This cop checks to make sure safe navigation isn't used with `blank?` in a conditional.

While the safe navigation operator is generally a good idea, when checking `foo&.blank?` in a conditional, `foo` being `nil` will actually do the opposite of what the author intends.

@example

# bad
do_something if foo&.blank?
do_something unless foo&.blank?

# good
do_something if foo.blank?
do_something unless foo.blank?

Constants

MSG

Public Instance Methods

on_if(node) click to toggle source
# File lib/rubocop/cop/rails/safe_navigation_with_blank.rb, line 33
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