2010-07-23 2 views
1

Я пишу приложение Ruby on Rails. который будет использовать стороннюю сторону для выполнения вызова webservice или отдыха или какого-либо вызова. Я не продаюсь, на какой третьей стороне я собираюсь использовать, поэтому я хочу изолировать это в каком-то фасаде.Ruby альтернатива уровню обслуживания

Если бы я делал это в .NET, я бы изолировал эту функциональность в службе, которую я вводил в контроллер. Это означает, что я могу легко издеваться над сервисом, чтобы его можно было тестировать, но в рубине гораздо проще издеваться над вещами, поэтому я не думаю, что мне нужен этот уровень косвенности и де-связи, который мне понадобится в статическом приложении ,

Это выглядит очень не-рубиновым, и я хотел бы услышать, как более опытные разработчики рубинов подходят к этой проблеме, чтобы изолировать код, чтобы сделать его насмешливым и проверяемым, а также дать мне возможность поменять, какой провайдер третьей стороны я с помощью.

ответ

0

Рубиноподобная версия «Я бы изолировала эту функциональность в сервисе, который я вводил в контроллер», была бы чем-то вроде «Я бы назвал это как рубиновый модуль, который я включаю в свой класс»

1

Если это веб-сервис RESTful, я бы сделал это в модели, которая наследуется от ActiveResource::Base. Это должно быть относительно легко издеваться над этим, а также для целей тестирования.

Смежные вопросы