Sha256: 4f7545100ad5d75dff69ff17920b38daa828c2dfb0091c31ac52479572ec81d7

Contents?: true

Size: 796 Bytes

Versions: 19

Compression:

Stored size: 796 Bytes

Contents

# encoding: utf-8

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
      def safe_assignment?(node)
        return false unless node.type == :begin
        return false unless node.children.size == 1

        child = node.children.first
        case child.type
        when *Util::EQUALS_ASGN_NODES
          true
        when :send
          _receiver, method_name, _args = *child
          method_name.to_s.end_with?('=')
        else
          false
        end
      end

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

Version data entries

19 entries across 19 versions & 2 rubygems

Version Path
rubyjobbuilderdsl-0.0.2 vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/safe_assignment.rb
rubyjobbuilderdsl-0.0.1 vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.33.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.32.1 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.32.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.31.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.30.1 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.30.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.29.1 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.29.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.28.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.27.1 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.27.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.26.1 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.26.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.25.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.24.1 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.24.0 lib/rubocop/cop/mixin/safe_assignment.rb
rubocop-0.23.0 lib/rubocop/cop/mixin/safe_assignment.rb