From 06f8258b38fdbe4c8f4eee3007c2d81c63f31727 Mon Sep 17 00:00:00 2001 From: Eric Davis Date: Fri, 16 Jan 2009 16:16:39 -0800 Subject: [PATCH] Extracted an ugly finder method from Rate#for to a private method. #1920 --- app/models/rate.rb | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/app/models/rate.rb b/app/models/rate.rb index d337dd1..d119896 100644 --- a/app/models/rate.rb +++ b/app/models/rate.rb @@ -26,15 +26,22 @@ class Rate < ActiveRecord::Base # API to find the Rate for a +user+ on a +project+ at a +date+ def self.for(user, project = nil, date = Date.today.to_s) - rate = Rate.find(:first, - :conditions => ["user_id IN (?) AND project_id IN (?) AND date_in_effect <= ?", - user.id, - project.id, - date - ], - :order => 'date_in_effect DESC') + rate = self.rate_for_user_project_and_date(user, project, date) return nil if rate.nil? return rate.amount end + + private + def self.rate_for_user_project_and_date(user, project, date) + return Rate.find(:first, + :order => 'date_in_effect DESC', + :conditions => [ + "user_id IN (?) AND project_id IN (?) AND date_in_effect <= ?", + user.id, + project.id, + date + ]) + + end end