module RuboCop::Cop::Style::MethodCallWithArgsParentheses::RequireParentheses

def eligible_for_parentheses_omission?(node)

def eligible_for_parentheses_omission?(node)
  node.operator_method? || node.setter_method? || ignored_macro?(node)
end

def ignored_macro?(node)

def ignored_macro?(node)
  cop_config['IgnoreMacros'] &&
    node.macro? &&
    !included_macros_list.include?(node.method_name)
end

def included_macros_list

def included_macros_list
  cop_config.fetch('IncludedMacros', []).map(&:to_sym)
end

def require_parentheses(node)

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