class RuboCop::Cop::InternalAffairs::RedundantMessageArgument
Checks for redundant message arguments to `#add_offense`. This method will automatically use `#message` or `MSG` (in that order of priority) if they are defined.
@example
# bad add_offense(node, message: MSG) add_offense(node, message: message) add_offense(node, message: message(node)) # good add_offense(node) add_offense(node, message: CUSTOM_MSG) add_offense(node, message: message(other_node))
Constants
- MSG
Public Instance Methods
autocorrect(node)
click to toggle source
# File lib/rubocop/cop/internal_affairs/redundant_message_argument.rb, line 47 def autocorrect(node) range = offending_range(node) ->(corrector) { corrector.remove(range) } end
on_send(node)
click to toggle source
# File lib/rubocop/cop/internal_affairs/redundant_message_argument.rb, line 39 def on_send(node) node_type_check(node) do |node_arg, kwargs| find_offending_argument(node_arg, kwargs) do |pair| add_offense(pair) end end end
Private Instance Methods
find_offending_argument(searched_node, kwargs) { |pair| ... }
click to toggle source
# File lib/rubocop/cop/internal_affairs/redundant_message_argument.rb, line 61 def find_offending_argument(searched_node, kwargs) kwargs.pairs.each do |pair| redundant_message_argument(pair) do |message_argument| node = message_method_call(message_argument) yield pair if !node || node == searched_node end end end
offending_range(node)
click to toggle source
# File lib/rubocop/cop/internal_affairs/redundant_message_argument.rb, line 55 def offending_range(node) with_space = range_with_surrounding_space(range: node.loc.expression) range_with_surrounding_comma(with_space, :left) end