activerecord-lazy-attributes
This ActiveRecord extension allows to define attributes to be lazy-loaded. It’s main purpose is to avoid loading large columns (such as BLOBs) with every SELECT.
Installation
gem install activerecord-lazy-attributes
Loading
To use it in a Rails application, add this line to your environment.rb (or similar):
config.gem 'activerecord-lazy-attributes', :lib => 'lazy_attributes'
Otherwise:
gem 'activerecord-lazy-attributes'
require 'lazy_attributes'
Example
class Image < ActiveRecord::Base
attr_lazy :data
end
i = Image.first # this selects all columns except "data"
i.data # "data" column is selected separately
Credit
This is based on this refactoring request (the code here is the last contribution to this refactoring).
Note on Patches/Pull Requests
-
Fork the project.
-
Make your feature addition or bug fix.
-
Add tests for it. This is important so I don’t break it in a future version unintentionally.
-
Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
-
Send me a pull request. Bonus points for topic branches.
Copyright
Copyright © 2010 Moritz Heidkamp. See LICENSE for details.