From f97ba599e502b908350994be00b5fd672e174bcb Mon Sep 17 00:00:00 2001 From: AntonioTerceiro Date: Wed, 7 Nov 2007 19:17:15 +0000 Subject: [PATCH] ActionItem16: adding optional conditions to pending_for --- app/models/task.rb | 4 ++-- test/unit/task_test.rb | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/models/task.rb b/app/models/task.rb index 34fe643..0c8f60f 100644 --- a/app/models/task.rb +++ b/app/models/task.rb @@ -135,8 +135,8 @@ class Task < ActiveRecord::Base class << self - def pending_for(target) - self.find(:all, :conditions => { :target_id => target.id, :status => Task::Status::ACTIVE }) + def pending_for(target, conditions= nil) + self.find(:all, :conditions => { :target_id => target.id, :status => Task::Status::ACTIVE }.merge(conditions || {})) end # generates a random code string consisting of 36 characters in the ranges diff --git a/test/unit/task_test.rb b/test/unit/task_test.rb index b080e02..776e9b9 100644 --- a/test/unit/task_test.rb +++ b/test/unit/task_test.rb @@ -161,6 +161,16 @@ class TaskTest < Test::Unit::TestCase assert_equal [task], Task.pending_for(target) end + should 'be able to pass extra conditions for getting pending tasks' do + target = sample_user + + task = Task.new + task.target = target + task.save! + + assert_equal [], Task.pending_for(target, :id => -1) + end + protected def sample_user -- libgit2 0.21.2