在Sinatra和Rails之间共享模型代码

时间:2012-04-29 21:33:50

标签: ruby-on-rails sinatra sharing

我有一个响应api调用的Sinatra应用程序,以及一个处理报告和所有漂亮的东西(如图形和网站)的Rails应用程序。两者都需要访问一组通用模型(例如,帐户,网站等)

我的问题是:如何在两个应用程序之间有效地共享代码?例如,如果我在Sinatra中编辑Accounts模型,我不想记得在Rails应用程序中复制相同的更改。我不想使用Rails Rack安装,因为这两个应用程序将在不同的集群上。

我已经看到有关StackOverflow的建议:

  • Git Modules
  • 符号链接(不能与我的同事使用的Windows一起使用)
  • Rails插件(我怀疑这适用于Sinatra)
  • Ruby Gems(我觉得这对于模型数据来说太过分了,但那只是我)

这两个应用程序位于不同的存储库中。基本上,我首先开发API,然后在Rails应用程序中加入特定于帐户的逻辑(主要是因为Rails有更多的库可以更容易地开发这些东西)。

你会如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

我会选择一个宝石,或者更像是宝石,你不需要发布它,然后使用Bundler git dependencies。我们在Travis CI上做了很多工作,它很有用,特别是在Bundler 1.2中新的“本地”git依赖项:http://gembundler.com/man/bundle-config.1.html#LOCAL-GIT-REPOS

相关问题