Sha256: b2016d19e1eeb3c648c59c49f3d53e2b1d874fa452060a54948772dbfa29d9b0
Contents?: true
Size: 1.87 KB
Versions: 2
Compression:
Stored size: 1.87 KB
Contents
# frozen_string_literal: true module RuboCop module Cop module Naming # This cop makes sure that rescued exceptions variables are named as # expected. # # The `PreferredName` config option takes a `String`. It represents # the required name of the variable. Its default is `e`. # # @example PreferredName: e (default) # # bad # begin # # do something # rescue MyException => exception # # do something # end # # # good # begin # # do something # rescue MyException => e # # do something # end # # @example PreferredName: exception # # bad # begin # # do something # rescue MyException => e # # do something # end # # # good # begin # # do something # rescue MyException => exception # # do something # end # class RescuedExceptionsVariableName < Cop MSG = 'Use `%<preferred>s` instead of `%<bad>s`.'.freeze def on_resbody(node) exception_type, @exception_name = *node return unless exception_type || @exception_name @exception_name ||= exception_type.children.first return if @exception_name.const_type? || variable_name == preferred_name add_offense(node, location: location) end private def preferred_name @preferred_name ||= cop_config.fetch('PreferredName', 'e') end def variable_name @variable_name ||= location.source end def location @location ||= @exception_name.loc.expression end def message(_node = nil) format(MSG, preferred: preferred_name, bad: variable_name) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rubocop-0.67.2 | lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb |
rubocop-0.67.1 | lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb |