class RuboCop::Cop::Perx::RedundantFactoryBot

Constants

FACTORY_BOT_METHODS
MSG

Public Instance Methods

autocorrect(node) click to toggle source
# File lib/perx/rubocop/custom_linters/redundant_factory_bot.rb, line 18
def autocorrect(node)
  lambda do |corrector|
    corrector.remove_leading(node.source_range, 'FactoryBot.'.length)
  end
end
on_block(node) click to toggle source
# File lib/perx/rubocop/custom_linters/redundant_factory_bot.rb, line 10
def on_block(node)
  node.each_descendant(:send) do |send_node|
    next unless factory_bot_invoked?(send_node.children[0]) && record_built_or_created?(send_node.children[1])

    add_offense(send_node, location: :expression)
  end
end

Private Instance Methods

factory_bot_invoked?(node) click to toggle source
# File lib/perx/rubocop/custom_linters/redundant_factory_bot.rb, line 26
def factory_bot_invoked?(node)
  node.to_a.include?(:FactoryBot)
end
record_built_or_created?(node) click to toggle source
# File lib/perx/rubocop/custom_linters/redundant_factory_bot.rb, line 30
def record_built_or_created?(node)
  FACTORY_BOT_METHODS.include?(node)
end