Class: RuboCop::Cop::Gusto::FactoryClassesOrModules

Inherits:
Base
  • Object
show all
Defined in:
lib/rubocop/cop/gusto/factory_classes_or_modules.rb

Overview

Disallow defining classes or modules in factory directories. They break Rails autoloading/reloading; define shared helpers outside the factories.

Examples:

# bad
# spec/factories/users.rb
class UserHelper
end

FactoryBot.define do
  factory :user
end

# good
# spec/factories/users.rb
FactoryBot.define do
  factory :user
end

Constant Summary collapse

MSG =
"Do not define modules or classes in factory directories - they break reloading"

Instance Method Summary collapse

Instance Method Details

#on_class(node) ⇒ Object



27
28
29
# File 'lib/rubocop/cop/gusto/factory_classes_or_modules.rb', line 27

def on_class(node)
  add_offense(node)
end

#on_module(node) ⇒ Object



31
32
33
# File 'lib/rubocop/cop/gusto/factory_classes_or_modules.rb', line 31

def on_module(node)
  add_offense(node)
end