class RuboCop::Cop::Rails::BulkChangeTable::AlterMethodsRecorder

Record combinable alter methods and register offensive nodes.

def flush

def flush
  @offensive_nodes << @nodes.first if @nodes.size > 1
  @nodes = []
end

def initialize

def initialize
  @nodes = []
  @offensive_nodes = []
end

def offensive_nodes

def offensive_nodes
  flush
  @offensive_nodes
end

def process(new_node)

Parameters:
  • new_node (RuboCop::AST::SendNode) --
def process(new_node)
  # arguments: [(sym :table) ...]
  table_name = new_node.arguments[0]
  flush unless @nodes.all? { |node| node.arguments[0] == table_name }
  @nodes << new_node
end