Module: RuboCop::Migration::CopConcerns::BatchProcessing

Included in:
Cop::Migration::BatchInBatches, Cop::Migration::BatchInTransaction, Cop::Migration::BatchWithThrottling
Defined in:
lib/rubocop/migration/cop_concerns/batch_processing.rb

Constant Summary collapse

BATCH_PROCESSING_METHOD_NAMES =
::Set.new(
  %i[
    delete_all
    update_all
  ]
).freeze

Class Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/rubocop/migration/cop_concerns/batch_processing.rb', line 15

def included(klass)
  super
  klass.class_eval do
    # @!method batch_processing?(node)
    #   @param node [RuboCop::AST::SendNode]
    #   @return [Boolean]
    def_node_matcher :batch_processing?, <<~PATTERN
      (send
        !nil?
        BATCH_PROCESSING_METHOD_NAMES
        ...
      )
    PATTERN
  end
end