Class: RuboCop::Cop::RSpec::ContextWording
- Includes:
- AllowedPattern
- Defined in:
- lib/rubocop/cop/rspec/context_wording.rb
Overview
Checks that context docstring starts with an allowed prefix.
The default list of prefixes is minimal. Users are encouraged to tailor the configuration to meet project needs. Other acceptable prefixes may include if, unless, for, before, after, or during. They may consist of multiple words if desired.
If both Prefixes and AllowedPatterns are empty, this cop will always report an offense. So you need to set at least one of them.
This cop can be customized allowed context description pattern with AllowedPatterns. By default, there are no checking by pattern.
Constant Summary collapse
- MSG_MATCH =
'Context description should match %<patterns>s.'- MSG_ALWAYS =
'Current settings will always report an offense. Please ' \ 'add allowed words to `Prefixes` or `AllowedPatterns`.'
Instance Method Summary collapse
- #context_wording(node) ⇒ Object
-
#on_block(node) ⇒ Object
rubocop:disable InternalAffairs/NumblockHandler.
Methods inherited from Base
inherited, #on_new_investigation
Methods included from RSpec::Language
#example?, #example_group?, #example_group_with_body?, #explicit_rspec?, #hook?, #include?, #let?, #rspec?, #shared_group?, #spec_group?, #subject?
Instance Method Details
#context_wording(node) ⇒ Object
69 70 71 |
# File 'lib/rubocop/cop/rspec/context_wording.rb', line 69 def_node_matcher :context_wording, "(block (send #rspec? { :context :shared_context } $(any_str ...) ...) ...)\n" |
#on_block(node) ⇒ Object
rubocop:disable InternalAffairs/NumblockHandler
73 74 75 76 77 78 79 |
# File 'lib/rubocop/cop/rspec/context_wording.rb', line 73 def on_block(node) # rubocop:disable InternalAffairs/NumblockHandler context_wording(node) do |context| unless matches_allowed_pattern?(description(context)) add_offense(context, message: ) end end end |