internuity / quick_scopes

Quick named scopes to make your life a little easier

This URL has Read+Write access

name age message
file .autotest Tue Jan 27 01:51:00 -0800 2009 Adding tests, rakefile, gem spec etc [andrewtimberlake]
file .gitignore Tue Jan 27 01:51:00 -0800 2009 Adding tests, rakefile, gem spec etc [andrewtimberlake]
file CHANGELOG Tue Jan 27 10:30:59 -0800 2009 Added offset quick scope [andrewtimberlake]
file LICENSE Tue Jan 27 01:56:34 -0800 2009 Added some extra docs and a LICENSE file [andrewtimberlake]
file README.rdoc Tue Jan 27 10:30:59 -0800 2009 Added offset quick scope [andrewtimberlake]
file Rakefile Tue Jan 27 10:30:59 -0800 2009 Added offset quick scope [andrewtimberlake]
file init.rb Tue Jan 27 00:29:20 -0800 2009 Adding quick version of the plugin [andrewtimberlake]
directory lib/ Tue Jan 27 10:30:59 -0800 2009 Added offset quick scope [andrewtimberlake]
file quick_scopes.gemspec Tue Jan 27 10:30:59 -0800 2009 Added offset quick scope [andrewtimberlake]
directory test/ Tue Jan 27 10:30:59 -0800 2009 Added offset quick scope [andrewtimberlake]
README.rdoc

A Rails plugin to automatically add some quick named_scopes to your models.

These are especially useful for quick modifications to a query on an association.

The named_scopes

The named scopes added are:

  • order
  • limit
  • offset
  • with - alias for :include
  • where - alias for :conditions

Examples

With a User model having many Posts

  # Standard association method to retrieve all posts
  user.posts

  # Order the posts
  user.posts.order('created_at')

  # Limit the results to a specific number
  user.posts.limit(5)

  # Offset the results
  user.posts.offset(5)

  # Include other associated models
  user.posts.with(:comments)
  user.posts.with(:comments, :author)
  user.posts.with({:comments => :author}, :author)

  # Limit your results with conditions
  user.posts.where(:published => true)

Note

Some of these don’t promote best practices for your code but can be very useful when working with the console.