Class: RuboCop::Cop::RSpec::SharedExamples
- Extended by:
- AutoCorrector
- Defined in:
- lib/rubocop/cop/rspec/shared_examples.rb
Overview
Enforces use of string to titleize shared examples.
Defined Under Namespace
Classes: Checker
Instance Method Summary collapse
Methods inherited from Base
inherited, #on_new_investigation
Methods included from RSpec::Language::NodePattern
#block_or_numblock_pattern, #block_pattern, #numblock_pattern, #send_pattern
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
#on_send(node) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/rubocop/cop/rspec/shared_examples.rb', line 34 def on_send(node) shared_examples(node) do ast_node = node.first_argument next unless ast_node&.sym_type? checker = Checker.new(ast_node) add_offense(checker.node, message: checker.) do |corrector| corrector.replace(checker.node, checker.preferred_style) end end end |
#shared_examples(node) ⇒ Object
27 28 29 30 31 32 |
# File 'lib/rubocop/cop/rspec/shared_examples.rb', line 27 def_node_matcher :shared_examples, <<~PATTERN { (send #rspec? #SharedGroups.all ...) (send nil? #Includes.all ...) } PATTERN |