class RuboCop::Cop::RSpec::DuplicatedMetadata
Avoid duplicated metadata.
@example
# bad describe 'Something', :a, :a # good describe 'Something', :a
Constants
- MSG
Public Instance Methods
on_metadata(symbols, _hash)
click to toggle source
# File lib/rubocop/cop/rspec/duplicated_metadata.rb, line 22 def on_metadata(symbols, _hash) symbols.each do |symbol| on_metadata_symbol(symbol) end end
Private Instance Methods
autocorrect(corrector, node)
click to toggle source
# File lib/rubocop/cop/rspec/duplicated_metadata.rb, line 38 def autocorrect(corrector, node) corrector.remove( range_with_surrounding_comma( range_with_surrounding_space( node.source_range, side: :left ), :left ) ) end
duplicated?(node)
click to toggle source
# File lib/rubocop/cop/rspec/duplicated_metadata.rb, line 50 def duplicated?(node) node.left_siblings.any? do |sibling| sibling.eql?(node) end end
on_metadata_symbol(node)
click to toggle source
# File lib/rubocop/cop/rspec/duplicated_metadata.rb, line 30 def on_metadata_symbol(node) return unless duplicated?(node) add_offense(node) do |corrector| autocorrect(corrector, node) end end