Class: RuboCop::Cop::RSpec::NoFactoryBotInBefore
- Inherits:
-
Base
- Object
- Base
- RuboCop::Cop::RSpec::NoFactoryBotInBefore
- Defined in:
- lib/rubocop/cop/rspec/no_factory_bot_in_before.rb
Overview
Forbids object creation (‘create`/`build`/`create_list`/`build_list`) inside a `before` block. Object creation belongs in `let`; `before` is for actions only.
Constant Summary collapse
- MSG =
'Do not create objects in `before` — use `let` for object creation.'- CREATION_METHODS =
%i[create build create_list build_list].freeze
Instance Method Summary collapse
- #on_block(node) ⇒ Object (also: #on_numblock, #on_itblock)
Instance Method Details
#on_block(node) ⇒ Object Also known as: on_numblock, on_itblock
24 25 26 27 28 29 30 31 32 |
# File 'lib/rubocop/cop/rspec/no_factory_bot_in_before.rb', line 24 def on_block(node) return unless before_block?(node) node.each_node(:send) do |send| next unless CREATION_METHODS.include?(send.method_name) && send.receiver.nil? add_offense(send.loc.selector) end end |