Class: Gitlab::Styles::Rubocop::Cop::RSpec::VerboseIncludeMetadata

Inherits:
Base
  • Object
show all
Extended by:
RuboCop::Cop::AutoCorrector
Defined in:
lib/gitlab/styles/rubocop/cop/rspec/verbose_include_metadata.rb

Overview

Checks for verbose include metadata used in the specs.

Examples:

# bad
describe MyClass, js: true do
end

# good
describe MyClass, :js do
end

Constant Summary collapse

MSG =
'Use `%s` instead of `%s`.'
SELECTORS =
%i[describe context feature example_group it specify example scenario its].freeze

Constants included from Rspec::Helpers

Rspec::Helpers::LET, Rspec::Helpers::LET_IT_BE_HELPERS

Instance Method Summary collapse

Instance Method Details

#on_send(node) ⇒ Object



41
42
43
44
45
46
47
48
49
# File 'lib/gitlab/styles/rubocop/cop/rspec/verbose_include_metadata.rb', line 41

def on_send(node)
  (node) do |match|
    add_offense(node, message: format(MSG, good(match), bad(match))) do |corrector|
      (node) do |match|
        corrector.replace(match.loc.expression, good(match))
      end
    end
  end
end