public
Description: Plugin for querying by dates on ActiveRecord models
Clone URL: git://github.com/joshuaclayton/acts_as_archivable.git
name age message
file .gitignore Tue Mar 18 04:24:11 -0700 2008 Added gitignore [joshuaclayton]
file MIT-LICENSE Mon Oct 15 18:52:28 -0700 2007 Initial import [jclayton]
file README Thu Jul 24 06:12:28 -0700 2008 Updated to work within Rails 2.1, allowing for ... [joshuaclayton]
file Rakefile Mon Oct 15 18:52:28 -0700 2007 Initial import [jclayton]
file init.rb Tue Mar 18 20:00:11 -0700 2008 Moved instance method on integer [joshuaclayton]
directory lib/ Thu Jul 24 07:12:06 -0700 2008 Fixed AAA to use named_scope correctly [joshuaclayton]
directory tasks/ Mon Oct 15 18:52:28 -0700 2007 Initial import [jclayton]
directory test/ Thu Jul 24 06:12:28 -0700 2008 Updated to work within Rails 2.1, allowing for ... [joshuaclayton]
README
ActsAsArchivable
================

ActsAsArchivable is a collection of methods that I found myself using quite a bit related 
to models with time-stamped columns.  Initial things were blog entries in regards to archives, 
but I found that I was using these more and more in various ways throughout many models.

This library requires ActiveRecord.

  class Entry < ActiveRecord::Base
    acts_as_archivable :order => 'DESC'
    has_many  :comments, :dependent => :destroy
  end

  class Comment < ActiveRecord::Base
    acts_as_archivable :on => :replied_on
    belongs_to  :entry
  end

From here, you have quick access to records related to date.

  Entry.by_date :year => 2007
  Entry.by_date Date.today
  Entry.by_date '5/1/2007'

  Entry.oldest
  Entry.newest

  Entry.recent 2.weeks
  Entry.recent 3.months
  Entry.recent (3.months - 1.week)

  Entry.between '5/10/2007', Date.today