Implements ActiveRecord::Base.each instance method
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
test
MIT-LICENSE
README
Rakefile
init.rb

README

=ActiveRecordEach

==Context

If you have to do a migration with a lot of rows, you can't do something like these
  User.find(:all).each do { |u| ... }
because you load all the table in ruby memmory. Ruby-prof says that these is not good, so I do these.

==Summary & Examples

ActiveRecordEach is a 5 minutes plugin that implements ActiveRecord::Base.each instance method.

It acepts any parameter that find accept except :limit

Now you can easily do
  User.each (:conditions => "users.login LIKE 'g%') { |u| Notifier.deliver_report(u) }

==Todo
It could be interesting make somthing like these:
  User.each (:step => 5) {|u| puts u.login}

And fetch 5 users per query

==Installation

You have two methods:
 * If your rails app is managed by git
  git-submodule add   git://github.com/guillermo/active_record_each.git vendor/plugins/active_record_each

 * If doesn't
  git-clone git://github.com/guillermo/active_record_each.git vendor/plugins/active_record_each


Copyright (c) 2008 Guillermo Álvarez Fernández, released under the MIT license