class Nucop::ExplicitFactoryBotUsage

This cop looks for usages of `FactoryGirl.create`, etc. See FactoryBotHelper::FACTORY_BOT_METHODS constant for a complete list.

The factory methods listed are included everywhere, so referencing the constant should rarely be necessary.

@example

# bad

job = FactoryGirl.create(:job, project: project)
FactoryGirl.build(:project, code: "Super Project")

# good

job = create(:job, project: project)
build(:project, code: "Super Project")

Constants

MSG

Public Instance Methods

autocorrect(node) click to toggle source
# File lib/nucop/cops/explicit_factory_bot_usage.rb, line 37
def autocorrect(node)
  ->(corrector) do
    corrector.replace(node.source_range, node.source.sub(/(?:FactoryGirl|FactoryBot)[.]/, ""))
  end
end
on_send(node) click to toggle source
# File lib/nucop/cops/explicit_factory_bot_usage.rb, line 27
def on_send(node)
  explicit_factory_bot_usage(node) do
    add_offense(node, location: :expression, message: format(MSG, constant: node.receiver.const_name, method: node.method_name))
  end
end
relevant_file?(file) click to toggle source
Calls superclass method
# File lib/nucop/cops/explicit_factory_bot_usage.rb, line 33
def relevant_file?(file)
  acceptance_or_spec_file?(file) && super
end