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

Inherits:
RuboCop::Cop::RSpec::Cop
  • Object
show all
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`.'.freeze
SELECTORS =
%i[describe context feature example_group it specify example scenario its].freeze

Instance Method Summary collapse

Instance Method Details

#autocorrect(node) ⇒ Object



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

def autocorrect(node)
  lambda do |corrector|
    (node) do |match|
      corrector.replace(match.loc.expression, good(match))
    end
  end
end

#on_send(node) ⇒ Object



36
37
38
39
40
# File 'lib/gitlab/styles/rubocop/cop/rspec/verbose_include_metadata.rb', line 36

def on_send(node)
  (node) do |match|
    add_offense(node, location: :expression, message: format(MSG, good(match), bad(match)))
  end
end