Sha256: f9c2fee9276f291aa27739543061a401a51ae3d3a01e278b732d970e4c9b1da5
Contents?: true
Size: 1.86 KB
Versions: 3
Compression:
Stored size: 1.86 KB
Contents
= About Mongoid::CachedDocument Mongoid is an ODM (Object-Document-Mapper) framework for MongoDB in Ruby. Mongoid::CachedDocument adds a new field type of the same name that supports the caching attributes from a related document. == Example class User include Mongoid::Document field :login #... end class Post include Mongoid::Document field :title field :body field :author, :type => Mongoid::CachedDocument end Assuming <tt>@user</tt> is a valid <tt>User</tt> with an <tt>id</tt> of 42 and <tt>login</tt> of '<tt>jsmith</tt>': @post = Post.create(:title => 'First Post', :body => 'This is a post.', :author => @user) This will create a new <tt>Post</tt> document, with an <tt>author</tt> field, the content of which is a hash: { '_type' => 'User', '_id' = 42 } @post.author._type => 'User' @post.author._id => 42 Attempting to get the user's <tt>login</tt> will cause the real user document to be fetched from the collection, which replaces the cached values. class User #... def cachable_attributes [ :login ] end end With the above class definition, the cached attributes will be: { '_type' => 'User', '_id' = 42, 'login' => 'jsmith' } To use the above in a criteria: Post.criteria.where('author.login' => 'jsmith') Enjoy! == 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 Matthew Gibbons. See LICENSE for details.
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mongoid_cached_document-0.2.0 | README.rdoc |
mongoid_cached_document-0.1.3 | README.rdoc |
mongoid_cached_document-0.1.2 | README.rdoc |