Sha256: 49af9770b7b4096d1fc964df4668af0bbb5802f0bc22c60324f33ef5faa878e0
Contents?: true
Size: 875 Bytes
Versions: 130
Compression:
Stored size: 875 Bytes
Contents
# frozen_string_literal: true module RuboCop module Cop module Lint # Checks for duplicated keys in hash literals. # This cop considers both primitive types and constants for the hash keys. # # This cop mirrors a warning in Ruby 2.2. # # @example # # # bad # # hash = { food: 'apple', food: 'orange' } # # @example # # # good # # hash = { food: 'apple', other_food: 'orange' } class DuplicateHashKey < Base include Duplication MSG = 'Duplicated key in hash literal.' def on_hash(node) keys = node.keys.select { |key| key.recursive_basic_literal? || key.const_type? } return unless duplicates?(keys) consecutive_duplicates(keys).each { |key| add_offense(key) } end end end end end
Version data entries
130 entries across 130 versions & 13 rubygems