Class: RuboCop::Cop::Rails::EnumUniqueness
- Inherits:
-
Base
- Object
- Base
- RuboCop::Cop::Rails::EnumUniqueness
- Includes:
- Duplication
- Defined in:
- lib/rubocop/cop/rails/enum_uniqueness.rb
Overview
Looks for duplicate values in enum declarations.
Constant Summary collapse
- MSG =
'Duplicate value `%<value>s` found in `%<enum>s` enum declaration.'
- RESTRICT_ON_SEND =
%i[enum].freeze
Instance Method Summary collapse
Instance Method Details
#on_send(node) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/rubocop/cop/rails/enum_uniqueness.rb', line 34 def on_send(node) enum?(node) do |pairs| pairs.each do |pair| enum_values(pair) do |key, args| items = args.values next unless duplicates?(items) consecutive_duplicates(items).each do |item| add_offense(item, message: format(MSG, value: item.source, enum: enum_name(key))) end end end end end |