class RuboCop::Cop::Layout::EmptyLinesAroundExceptionHandlingKeywords
This cops checks if empty lines exist around the bodies of `begin` sections. This cop doesn't check empty lines at `begin` body beginning/end and around method definition body. `Style/EmptyLinesAroundBeginBody` or `Style/EmptyLinesAroundMethodBody` can be used for this purpose.
@example
# good begin do_something rescue do_something2 else do_something3 ensure do_something4 end # good def foo do_something rescue do_something2 end # bad begin do_something rescue do_something2 else do_something3 ensure do_something4 end # bad def foo do_something rescue do_something2 end
Constants
- MSG
Public Instance Methods
on_def(node)
click to toggle source
# File lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb, line 65 def on_def(node) check_body(node.body) end
Also aliased as: on_defs
on_kwbegin(node)
click to toggle source
# File lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb, line 70 def on_kwbegin(node) body, = *node check_body(body) end
Private Instance Methods
check_body(node)
click to toggle source
# File lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb, line 77 def check_body(node) locations = keyword_locations(node) locations.each do |loc| line = loc.line keyword = loc.source # below the keyword check_line(style, line, format(MSG, 'after', keyword), &:empty?) # above the keyword check_line(style, line - 2, format(MSG, 'before', keyword), &:empty?) end end
keyword_locations(node)
click to toggle source
# File lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb, line 96 def keyword_locations(node) return [] unless node case node.type when :rescue keyword_locations_in_rescue(node) when :ensure keyword_locations_in_ensure(node) else [] end end
keyword_locations_in_ensure(node)
click to toggle source
# File lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb, line 116 def keyword_locations_in_ensure(node) ensure_body, = *node [ node.loc.keyword, *keyword_locations(ensure_body) ] end
keyword_locations_in_rescue(node)
click to toggle source
# File lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb, line 108 def keyword_locations_in_rescue(node) _begin_body, *resbodies, _else_body = *node [ node.loc.else, *resbodies.map { |body| body.loc.keyword } ].compact end
style()
click to toggle source
# File lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb, line 92 def style :no_empty_lines end