Auto Scope plugin

Plugin details

Automatically create scoped access methods on your ActiveRecord models.

Websitehttp://xlsuite.org/plugins/auto_scope Repositoryhttp://svn.xlsuite.org/plugins/auto_scope/ Author Franois Beausoleil Tags auto, scope LicenseUnknown

Documentation

Install the plugin:
ruby script/plugin install http://svn.xlsuite.org/plugins/auto_scope/

Examples
=============
Declare your scopes within your ActiveRecord::Base subclasses.

 class Contact < ActiveRecord::Base
   auto_scope \
       :old => {:find => {:conditions => ["born_on < ?", 30.years.ago]}},
       :young => {:find => {:conditions => ["born_on > ?", 1.year.ago]}}
 end

 class Testimonial < ActiveRecord::Base
   auto_scope \
       :approved => {
           :find => {:conditions => ["approved_at < ?", proc {Time.now}]},
           :create => {:approved_at => proc {Time.now}}},
       :unapproved => {
           :find => {:conditions => "approved_at IS NULL"},
           :create => {:approved_at => nil}}
 end


These declarations give you access to the following scoped methods:

 Testimonial.approved.count
 Testimonial.unapproved.create!(params[:testimonial])
 @young_contacts = Contact.young
 @contacts = Contact.old.find(:all, :conditions => ["name LIKE ?", params[:name]])

Further Documentation

There is currently no advanced documentation for this plugin.

New documentation

Edit plugin | (0 older versions) | Last edited by: hardway, 7 months ago