Sha256: 31fe0242eeaeb162e529432aa750a8d7ef74ac79668d4e53463d6016b2aa4096
Contents?: true
Size: 1021 Bytes
Versions: 2
Compression:
Stored size: 1021 Bytes
Contents
# frozen_string_literal: true module RuboCop module Cop module FactoryBot # Do not create a FactoryBot sequence for an id column. # # @example # # bad - can lead to conflicts between FactoryBot and DB sequences # factory :foo do # sequence :id # end # # # good - a non-id column # factory :foo do # sequence :some_non_id_column # end # class IdSequence < ::RuboCop::Cop::Base extend AutoCorrector include RangeHelp MSG = 'Do not create a sequence for an id attribute' RESTRICT_ON_SEND = %i[sequence].freeze def on_send(node) return unless node.first_argument.value == :id add_offense(node) do |corrector| range_to_remove = range_by_whole_lines( node.source_range, include_final_newline: true ) corrector.remove(range_to_remove) end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rubocop-factory_bot-2.25.0 | lib/rubocop/cop/factory_bot/id_sequence.rb |
rubocop-factory_bot-2.24.0 | lib/rubocop/cop/factory_bot/id_sequence.rb |