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)
Switch `raise RuntimeError, 'message'` to `raise 'message'`, and
def on_send(node) fix_exploded(node) || fix_compact(node) end