class RuboCop::Cop::Style::RescueModifier
This cop checks for uses of rescue in its modifier form.
Constants
- MSG
Public Instance Methods
autocorrect(node)
click to toggle source
# File lib/rubocop/cop/style/rescue_modifier.rb, line 24 def autocorrect(node) operation, rescue_modifier, = *node *_, rescue_args = *rescue_modifier indent = indentation(node) correction = "begin\n" "#{operation.source.gsub(/^/, indent)}" "\n#{offset(node)}rescue\n" "#{rescue_args.source.gsub(/^/, indent)}" "\n#{offset(node)}end" lambda do |corrector| corrector.replace(node.source_range, correction) end end
investigate(processed_source)
click to toggle source
# File lib/rubocop/cop/style/rescue_modifier.rb, line 12 def investigate(processed_source) @modifier_locations = processed_source .tokens .select { |t| t.type == :kRESCUE_MOD } .map(&:pos) end
on_resbody(node)
click to toggle source
# File lib/rubocop/cop/style/rescue_modifier.rb, line 19 def on_resbody(node) return unless modifier?(node) add_offense(node.parent, :expression) end
Private Instance Methods
modifier?(node)
click to toggle source
# File lib/rubocop/cop/style/rescue_modifier.rb, line 43 def modifier?(node) @modifier_locations.include?(node.loc.keyword) end