在事件发生后调用其他操作

时间:2011-02-22 13:26:47

标签: ruby design-patterns loose-coupling

我想知道这个问题是否存在模式:

我有一个用于CRUD'ing'ftp-users的ruby webfrontend。 webfrontend的后端是MySQL DB。 webfrontend与守护进程严格分离,它是auth-backend(带有sql-mysql或mod_auth_file的proftpd)。

通过webgui创建用户后,我想调用守护进程后端的桥。

编码这个桥不是问题,我不知道如何在没有强耦合的情况下将所有内容放在一起(由于切换proftpd auth后端)。

谢谢。

1 个答案:

答案 0 :(得分:1)

前端和后端之间会有一些耦合。假设您在我们的前端使用Ruby on Rails这样的技术,您可以修改模型以执行a​​fter_create方法,该方法可以调用一些自定义ruby代码来与您的proftpd代码进行通信。

我将自定义ruby代码放在lib / tasks目录中的rake文件中。根据您的使用情况,可以从调度程序(如cron-tab,维护工作的每小时)或代表您的用户的型号代码调用此方法。)

顺便说一句,有一个proftpd的Chef插件。请参阅http://wiki.opscode.com/display/chef/Homehttp://rubyreflector.com/ProFTPD