Class: RuboCop::Cop::Rails::MongoidNeeds

Inherits:
Base
  • Object
show all
Extended by:
AutoCorrector
Defined in:
lib/rubocop/cop/deprecated/mongoid_needs.rb

Constant Summary collapse

SAFETY =
:unsafe
MSG =
'Add `needs: :mongoid` to RSpec.describe when requiring mongoid_helper.'

Instance Method Summary collapse

Instance Method Details

#on_send(node) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/rubocop/cop/deprecated/mongoid_needs.rb', line 30

def on_send(node)
  buffer = node.source_range.source_buffer
  return unless buffer.name.include?('_spec.rb')
  return unless require_mongoid_helper(node)

  root_node = processed_source.ast
  describe_node = find_rspec_describe(root_node)

  return unless describe_node
  return if rspec_describe_with_needs(describe_node)

  add_offense(describe_node, message: MSG) do |corrector|
    autocorrect(corrector, describe_node)
  end
end