module RuboCop::Cop::RSpec::ExplicitHelper

def check_explicit(node) # rubocop:disable Metrics/MethodLength

rubocop:disable Metrics/MethodLength
def check_explicit(node) # rubocop:disable Metrics/MethodLength
  predicate_matcher_block?(node) do |actual, matcher|
    add_offense(node, message: message_explicit(matcher)) do |corrector|
      to_node = node.send_node
      corrector_explicit(corrector, to_node, actual, matcher, to_node)
    end
    ignore_node(node.children.first)
    return
  end
  return if part_of_ignored_node?(node)
  predicate_matcher?(node) do |actual, matcher|
    next unless replaceable_matcher?(matcher)
    add_offense(node, message: message_explicit(matcher)) do |corrector|
      next if uncorrectable_matcher?(node, matcher)
      corrector_explicit(corrector, node, actual, matcher, matcher)
    end
  end
end