Sha256: 775c8936792983146bc49f3768c2ae7e24710a6b4c9b6adcd2457eca845d4907
Contents?: true
Size: 1.06 KB
Versions: 2
Compression:
Stored size: 1.06 KB
Contents
# frozen_string_literal: true module RuboCop module Cop module Lint # This cop checks for unintended or-assignment to a constant. # # Constants should always be assigned in the same location. And its value # should always be the same. If constants are assigned in multiple # locations, the result may vary depending on the order of `require`. # # @safety # This cop is unsafe because code that is already conditionally # assigning a constant may have its behavior changed by # auto-correction. # # @example # # # bad # CONST ||= 1 # # # good # CONST = 1 # class OrAssignmentToConstant < Base extend AutoCorrector MSG = 'Avoid using or-assignment with constants.' def on_or_asgn(node) lhs, _rhs = *node return unless lhs&.casgn_type? add_offense(node.loc.operator) do |corrector| corrector.replace(node.loc.operator, '=') end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rubocop-1.29.1 | lib/rubocop/cop/lint/or_assignment_to_constant.rb |
rubocop-1.29.0 | lib/rubocop/cop/lint/or_assignment_to_constant.rb |