activerecord-lazy-attributes

An ActiveRecord extension which allows attributes to be lazy loaded

MIT License

Downloads
48.4K
Stars
15
Committers
1

= 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}[http://refactormycode.com/codes/219-activerecord-lazy-attribute-loading-plugin-for-rails] (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 (c) 2010 Moritz Heidkamp. See LICENSE for details.