class RuboCop::Cop::RSpec::Dialect

This cop enforces custom RSpec dialects.

A dialect can be based on the following RSpec methods:

By default all of the RSpec methods and aliases are allowed. By setting a config like:

RSpec/Dialect:
  PreferredMethods:
    context: describe

You can expect the following behavior:

@example

# bad
context 'display name presence' do
  # ...
end

# good
describe 'display name presence' do
  # ...
end

Constants

MSG

Public Instance Methods

on_send(node) click to toggle source
# File lib/rubocop/cop/rspec/dialect.rb, line 53
def on_send(node)
  return unless rspec_method?(node)
  return unless preferred_methods[node.method_name]

  msg = format(MSG, prefer: preferred_method(node.method_name),
                    current: node.method_name)

  add_offense(node, message: msg) do |corrector|
    current = node.loc.selector
    preferred = preferred_method(current.source)

    corrector.replace(current, preferred)
  end
end