Method: RuboCop::Cop::Style::InverseMethods#on_block

Defined in:
lib/rubocop/cop/style/inverse_methods.rb

#on_block(node) ⇒ Object Also known as: on_numblock, on_itblock



92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# File 'lib/rubocop/cop/style/inverse_methods.rb', line 92

def on_block(node)
  inverse_block?(node) do |_method_call, method, block|
    return unless inverse_blocks.key?(method)
    return if negated?(node) && negated?(node.parent)
    return if node.each_node(:next).any?

    # Inverse method offenses inside of the block of an inverse method
    # offense, such as `y.reject { |key, _value| !(key =~ /c\d/) }`,
    # can cause autocorrection to apply improper corrections.
    ignore_node(block)
    add_offense(node, message: message(method, inverse_blocks[method])) do |corrector|
      correct_inverse_block(corrector, node)
    end
  end
end