Sha256: becc348448d30dd8d5e9a4b383f2fc1168701cd3e3a9253897f5ab3a85963844
Contents?: true
Size: 1.32 KB
Versions: 55
Compression:
Stored size: 1.32 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 ignored_method?(node.method_name) return if matches_ignored_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 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
55 entries across 55 versions & 6 rubygems