class RuboCop::Cop::Style::RedundantException
Checks for RuntimeError as the argument of raise/fail.
It checks for code like this:
@example
# Bad raise RuntimeError, 'message' # Bad raise RuntimeError.new('message') # Good raise 'message'
Constants
- MSG_1
- MSG_2
- RESTRICT_ON_SEND
Public Instance Methods
fix_compact(node)
click to toggle source
# File lib/rubocop/cop/style/redundant_exception.rb, line 45 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
fix_exploded(node)
click to toggle source
# File lib/rubocop/cop/style/redundant_exception.rb, line 33 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
on_send(node)
click to toggle source
Switch `raise RuntimeError, 'message'` to `raise 'message'`, and `raise RuntimeError.new('message')` to `raise 'message'`.
# File lib/rubocop/cop/style/redundant_exception.rb, line 29 def on_send(node) fix_exploded(node) || fix_compact(node) end