2012-11-08 21 views
0

我有我已經加入日期的方法,看起來像這樣:應用程序/ utils的課沒有發現rake任務

class Date 
    def days_different(date) 
    Float(self-date) 
    end 
end 

這在我的應用程序的其它部分的偉大工程,但我也有一個rake任務在lib/tasks/database.rake中,儘管在任務中具有=>:環境依賴關係(下面顯示的大大簡化的測試版本),但未使用此方法。

task :test_days_different => :environment do 
    date = 2.days.ago 
    puts date.days_different(DateTime.now) 
end 

奇怪的是,耙:測試加載輔助函數加載時它的環境,所以我完全感到困惑,這是爲什麼不抽傭分貝

任何想法加載?

回答

0

你沒有提到你把擴展Date類放在哪裏,但我認爲你必須在rake文件中要求'date'。在耙運行時,它似乎比我的應用程序/ utils的多/未加載date.rb擴展 -

require 'date' 
class Date 
    def days_different(date) 
    Float(self-date) 
    end 
end 

date = Date.new(2001,2,1) 
puts date.days_different(DateTime.now) 
+0

日期裝有導軌:

這段代碼是不工作沒有需要聲明db:test_days_different context,但運行rake測試時或在WEBrick dev環境中。 – outside2344