What am I doing wrong with find_in_batches?

I'm testing out ActiveRecord's find_in_batches and I'm missing
something very basic I think. I can only get it to return the values
from the first chunk (batch_size) and nothing more...how do I get it
to process chunks until there are no more?

the same number as the standard count method? I mean, shouldn't these
be equivalent?

Entry.count(:select => "distinct(email)", :conditions => { :opt_in =>
true, :blacklist => false })

313954

count = 0
Entry.find_in_batches(:batch_size => 2000, :select =>
"distinct(email)", :conditions => { :opt_in => true, :blacklist =>
false} ) do |entries|
  entries.each { count += 1 }
  puts count
end

2000

http://pastie.org/1214575

Thanks for any help!

Looks like you're missing the "id" in your :select, which
#find_in_batches relies upon. Try:

:select => "distinct(email), id"

Perfect! Thanks Erol. I knew it was something very basic.