Sha256: a5eaf120300a642cdfe39278820bf23900ebc5c98d1e8be0c2c3bcca82884d5c
Contents?: true
Size: 1.44 KB
Versions: 195
Compression:
Stored size: 1.44 KB
Contents
# frozen_string_literal: true module RuboCop module Cop module Style class MethodCallWithArgsParentheses # Style require_parentheses module RequireParentheses REQUIRE_MSG = 'Use parentheses for method calls with arguments.' private_constant :REQUIRE_MSG private def require_parentheses(node) return if allowed_method_name?(node.method_name) return if matches_allowed_pattern?(node.method_name) return if eligible_for_parentheses_omission?(node) return unless node.arguments? && !node.parenthesized? add_offense(node, message: REQUIRE_MSG) do |corrector| corrector.replace(args_begin(node), '(') corrector.insert_after(args_end(node), ')') unless args_parenthesized?(node) end end def allowed_method_name?(name) allowed_method?(name) || matches_allowed_pattern?(name) end def eligible_for_parentheses_omission?(node) node.operator_method? || node.setter_method? || ignored_macro?(node) end def included_macros_list cop_config.fetch('IncludedMacros', []).map(&:to_sym) end def ignored_macro?(node) cop_config['IgnoreMacros'] && node.macro? && !included_macros_list.include?(node.method_name) end end end end end end
Version data entries
195 entries across 190 versions & 20 rubygems