2010-07-23 47 views
1

我正在編寫一個Ruby on Rails應用程序。這將使用第三方進行網絡服務呼叫或休息呼叫或某種呼叫。我不會出售我將要使用的第三方,所以我想在某種外觀中將其隔離。Ruby替代服務層

如果我在.NET中這樣做,我會在我注入控制器的服務中隔離這個功能。這意味着我可以很容易地嘲笑服務,以使其可以測試,但在ruby中,嘲笑事情要容易得多,所以我不認爲我需要這種級別的間接和分離,我需要在靜態應用程序中。

這聽起來非常非紅寶石般的樣子,我想聽聽更多有經驗的ruby開發人員如何處理隔離代碼的問題,使其成爲可嘲弄和可測試的代碼,並讓我選擇交換哪個第三方提供者使用。

回答

0

「我會在我注入控制器的服務中隔離這個功能」的ruby-like版本就像「我將它寫入我的課程中包含的紅寶石模塊」

1

如果它是一個RESTful web服務,我會在從ActiveResource::Base繼承的模型中執行此操作。爲了測試目的,應該相對容易地進行嘲笑。