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