has_many :expenses, :dependent => :destroy do
def for_week(day)
find(:all, :conditions => { :spent_at => day.to_time.beginning_of_week.to_date..(day.to_time.beginning_of_week.to_date + 6)})
end
end
Refactorings
No refactoring yet !
Max Lapshin
November 19, 2007, November 19, 2007 10:03, permalink
perhaps use to_s(:db)
class Time
def to_week_range
(beginning_of_week..((self+7.days).beginning_of_week))
end
end
Article.find(:all, :conditions => "published_at #{day.to_time.to_week_range.to_s(:db)}")
So my User has an association proxy for her expenses. spent_at is a Date field in the DB. The day being passed in is a Ruby Date. Mainly, I want to be sure hashed conditions are safe from hacks. Also wondering if there is a more convenient way to do beginning_of and end_of calcs on Date objects.
NOTE: At Rails 1.2.5, so no end_of_week on Time. I think that's available in edge.