class RuboCop::Cop::Style::RedundantBegin
This cop checks for redundant `begin` blocks.
Currently it checks for code like this:
@example
# bad def redundant begin ala bala rescue StandardError => e something end end # good def preferred ala bala rescue StandardError => e something end # bad # When using Ruby 2.5 or later. do_something do begin something rescue => ex anything end end # good # In Ruby 2.5 or later, you can omit `begin` in `do-end` block. do_something do something rescue => ex anything end # good # Stabby lambdas don't support implicit `begin` in `do-end` blocks. -> do begin foo rescue Bar baz end end
Constants
- MSG
Public Instance Methods
autocorrect(node)
click to toggle source
# File lib/rubocop/cop/style/redundant_begin.rb, line 74 def autocorrect(node) lambda do |corrector| corrector.remove(node.loc.begin) corrector.remove(node.loc.end) end end
on_block(node)
click to toggle source
# File lib/rubocop/cop/style/redundant_begin.rb, line 65 def on_block(node) return if target_ruby_version < 2.5 return if node.send_node.lambda_literal? return if node.braces? check(node) end
on_def(node)
click to toggle source
# File lib/rubocop/cop/style/redundant_begin.rb, line 60 def on_def(node) check(node) end
Also aliased as: on_defs
Private Instance Methods
check(node)
click to toggle source
# File lib/rubocop/cop/style/redundant_begin.rb, line 83 def check(node) return unless node.body&.kwbegin_type? add_offense(node.body, location: :begin) end