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 autocorrect(node)
Switch `raise RuntimeError, 'message'` to `raise 'message'`, and
def autocorrect(node) exploded?(node) do |command, message| return lambda do |corrector| corrector.replace(node.source_range, "#{command} #{message.source}") end end compact?(node) do |new_call, message| lambda do |corrector| corrector.replace(new_call.source_range, message.source) end end end
def on_send(node)
def on_send(node) exploded?(node) { return add_offense(node, :expression, MSG_1) } compact?(node) { add_offense(node, :expression, MSG_2) } end