Skip to content

guillermo/active_record_each

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 
=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

About

Implements ActiveRecord::Base.each instance method

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages