让Rack从Gem加载配置

时间:2014-01-21 16:33:29

标签: ruby rack

是否可以运行Rack并指定它应该从项目的某个Gem依赖项中查找config.ru而不是本地文件系统上的项目文件?

我确定这是一个'错误'的模式,但我们有一个项目A,它有一堆前端静态资源。 Project B是一个Sinatra应用程序,为要调用的Web UI提供后端服务。我们将它们分成两个项目,因此A可能依赖于特定版本的B,并且不受破坏性变化的影响。

B包含Sinatra应用程序,config.ru定义了Sinatra端点映射到哪些路径,另外还应该提供静态资源。

A拥有最薄的Ruby,基本上只依赖于B通过Gemfile。

我们希望有人能够克隆项目A,执行bundle install,然后运行rackup并让Rack使用B's Gem中的config.ru来决定如何配置自己。

1 个答案:

答案 0 :(得分:0)

“rackup”命令可以为包含路径和特定库以及要运行的配置文件的路径提供选项,因此您应该可以将其关闭...

Usage: rackup [ruby options] [rack options] [rackup config]

Ruby options:
  ...
  -I, --include PATH       specify $LOAD_PATH (may be used more than once)
  -r, --require LIBRARY    require the library, before executing your script

如果这对您不起作用,您可能需要提供有关您要执行的操作的更多详细信息