Sha256: c9ff0cef41f5ed0cf5bee5fe6a793104d37cbdc8e81b73cb0f45ea95a50d5017

Contents?: true

Size: 774 Bytes

Versions: 31

Compression:

Stored size: 774 Bytes

Contents

# frozen_string_literal: true

module RuboCop
  module Cop
    # Common functionality for safe assignment. By safe assignment we mean
    # putting parentheses around an assignment to indicate "I know I'm using an
    # assignment as a condition. It's not a mistake."
    module SafeAssignment
      extend NodePattern::Macros

      private

      # @!method empty_condition?(node)
      def_node_matcher :empty_condition?, '(begin)'

      # @!method setter_method?(node)
      def_node_matcher :setter_method?, '[(call ...) setter_method?]'

      # @!method safe_assignment?(node)
      def_node_matcher :safe_assignment?, '(begin {equals_asgn? #setter_method?})'

      def safe_assignment_allowed?
        cop_config['AllowSafeAssignment']
      end
    end
  end
end

Version data entries

31 entries across 31 versions & 6 rubygems

Version Path
rubocop-1.74.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-1.73.2 lib/rubocop/cop/mixin/safe_assignment.rb
siteimprove_api_client-1.0.1 vendor/bundle/ruby/3.2.0/gems/rubocop-1.73.1/lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-1.73.1 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-1.73.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-1.72.2 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-1.72.1 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-1.72.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-1.71.2 lib/rubocop/cop/mixin/safe_assignment.rb
tailscale_middleware-0.0.3 vendor/cache/ruby/3.4.0/gems/rubocop-1.71.1/lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-1.71.1 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-1.71.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-1.70.0 lib/rubocop/cop/mixin/safe_assignment.rb
minato_ruby_api_client-0.2.2 vendor/bundle/ruby/3.2.0/gems/rubocop-1.64.1/lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-1.69.2 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-1.69.1 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-1.69.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-1.68.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-1.67.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-1.66.1 lib/rubocop/cop/mixin/safe_assignment.rb