我应该把非Ruby文件放在哪里?
我想在我的Ruby gem中放一个Upstart配置文件。这是我目前的最佳猜测我应该把非Ruby文件放在哪里?,ruby,rubygems,gem,directory-structure,upstart,Ruby,Rubygems,Gem,Directory Structure,Upstart,我想在我的Ruby gem中放一个Upstart配置文件。这是我目前的最佳猜测 Gem::Specification.new do |s| # ... s.files = %w( lib/rt_watchdog.rb lib/upstart/rt_watchdog.conf bin/rt_watchdog ) end 一般来说,配置文件和其他类型的脚本在gem中放在哪里 Update:我将示例中的路径从Upstart/rt_watchdog.conf更改
Gem::Specification.new do |s|
# ...
s.files = %w(
lib/rt_watchdog.rb
lib/upstart/rt_watchdog.conf
bin/rt_watchdog
)
end
一般来说,配置文件和其他类型的脚本在gem中放在哪里
Update:我将示例中的路径从
Upstart/rt_watchdog.conf
更改为lib/Upstart/rt_watchdog.conf
,因为我现在决定使用它,但是我还是感觉不太好。Rails在应用程序的根目录中使用了一个配置目录,Rails的约定在整个Ruby社区中都得到了很好的体现。我不知道是否有一个标准的位置来存放upstart文件,但它肯定不在以大写字母开头的目录中!如果你要走这条路,就把它叫做小写的upstart。但更可能的是,只需调用它config
,或者将它放在lib
下的相应子目录中。谢谢。那很有帮助。现在我确实使用了lib/upstart/rt_watchdog.conf
,但我仍然感觉不太好。更重要的是,我找不到一种让gem安装为我部署文件的方法,比如安装后脚本。我的研究表明,安装后脚本不是最好的方法。相反,我想包括一个类似于Passenger Phusion的Passenger安装nginx模块的binmygem\u config
。是的,你最好添加一个可执行文件来安装你的upstart文件,安装gem不应该触碰用户系统上的任何东西(当然除了gem文件夹)。我同意Rails的惯例。非常感谢。你能告诉我如何在配置下组织吗?像config/upstart
和config/cron.daily
?这就是我现在正在做的。