Rails 5 – O que há de novo / mudou

Rails 5 adiciona opção de acabamento em find_in_batches

No Rails 4.x tínhamos a opção de início no find_in_batchesmétodo.

Person.find_in_batches(start: 1000, batch_size: 2000) do |group|
group.each { |person| person.party_all_night! }
end

O código acima fornece lotes de Person a partir do registro cujo valor de chave primária é igual a 1000.

Não há valor final para a chave primária. Isso significa que, no caso acima, todos os registros com valor de chave primária maior que 1000 são buscados.

O Rails 5 apresenta a opção de finalização que serve como um limite superior para o valor da chave primária nos registros sendo buscados.

Person.find_in_batches(start: 1000, finish: 9500, batch_size: 2000) do |group|
group.each { |person| person.party_all_night! }
end

O código acima garante que nenhum registro em qualquer um dos lotes tenha o valor da chave primária maior que 9500.

Referência: http://blog.bigbinary.com/2016/06/06/rails-5-provides-finish-option-for-find-in-batches.html