Sha256: 9a24410ef6d054faaa156aebb8924214a18088f198a804933896b2eadc1f19bc

Contents?: true

Size: 677 Bytes

Versions: 6872

Compression:

Stored size: 677 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

      def_node_matcher :empty_condition?, '(begin)'
      def_node_matcher :setter_method?, '[(send ...) setter_method?]'
      def_node_matcher :safe_assignment?,
                       '(begin {equals_asgn? #setter_method?})'

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

Version data entries

6,872 entries across 6,846 versions & 29 rubygems

Version Path
rubocop-0.63.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.62.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.61.1 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.61.0 lib/rubocop/cop/mixin/safe_assignment.rb
config_gems_initialization_aim-0.1.4 vendor/bundle/ruby/2.5.0/gems/config_gems_initialization_aim-0.1.1/vendor/bundle/ruby/2.5.0/gems/rubocop-0.60.0/lib/rubocop/cop/mixin/safe_assignment.rb
config_gems_initialization_aim-0.1.4 vendor/bundle/ruby/2.5.0/gems/rubocop-0.60.0/lib/rubocop/cop/mixin/safe_assignment.rb
config_gems_initialization_aim-0.1.3 vendor/bundle/ruby/2.5.0/gems/config_gems_initialization_aim-0.1.1/vendor/bundle/ruby/2.5.0/gems/rubocop-0.60.0/lib/rubocop/cop/mixin/safe_assignment.rb
config_gems_initialization_aim-0.1.3 vendor/bundle/ruby/2.5.0/gems/rubocop-0.60.0/lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.60.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.59.2 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.59.1 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.59.0 lib/rubocop/cop/mixin/safe_assignment.rb