class RuboCop::Cop::Style::RedundantException

raise ‘message’
# Good
raise RuntimeError.new(‘message’)
# Bad
raise RuntimeError, ‘message’
# Bad
@example
It checks for code like this:
This cop checks for RuntimeError as the argument of raise/fail.

def fix_compact(node)

def fix_compact(node)
  compact?(node) do |new_call, message|
    add_offense(node, message: MSG_2) do |corrector|
      corrector.replace(new_call, message.source)
    end
  end
end

def fix_exploded(node)

def fix_exploded(node)
  exploded?(node) do |command, message|
    add_offense(node, message: MSG_1) do |corrector|
      if node.parenthesized?
        corrector.replace(node,
                          "#{command}(#{message.source})")
      else
        corrector.replace(node,
                          "#{command} #{message.source}")
      end
    end
  end
end

def on_send(node)

`raise RuntimeError.new('message')` to `raise 'message'`.
Switch `raise RuntimeError, 'message'` to `raise 'message'`, and
def on_send(node)
  fix_exploded(node) || fix_compact(node)
end