class RuboCop::Cop::RSpec::FactoryBot::CreateList::TimesCorrector

:nodoc

Attributes

node[R]

Public Class Methods

new(node) click to toggle source
# File lib/rubocop/cop/rspec/factory_bot/create_list.rb, line 112
def initialize(node)
  @node = node
end

Public Instance Methods

call(corrector) click to toggle source
# File lib/rubocop/cop/rspec/factory_bot/create_list.rb, line 116
def call(corrector)
  replacement = generate_n_times_block(node)
  corrector.replace(node, replacement)
end

Private Instance Methods

generate_n_times_block(node) click to toggle source
# File lib/rubocop/cop/rspec/factory_bot/create_list.rb, line 125
def generate_n_times_block(node)
  factory, count, *options = node.arguments

  arguments = factory.source
  options = build_options_string(options)
  arguments += ", #{options}" unless options.empty?

  replacement = format_receiver(node.receiver)
  replacement += format_method_call(node, 'create', arguments)
  "#{count.source}.times { #{replacement} }"
end