更改Rails Gem文件的位置

时间:2014-07-22 05:32:36

标签: ruby-on-rails ruby gem

我创建了一个可安装的引擎并将其打包为Gem。目前,引擎在App目录和Lib目录中都有各种文件。

当我将这个gem添加到应用程序gemfile时,我希望它将文件(控制器,视图和lib / assets文件)传输到应用程序而不是从gemfile运行。这是因为用户需要添加和编辑这些文件。

我已经创建了gem并推送到rubygems(style_guide),但我似乎无法弄清楚如何在捆绑安装时实现它,在您的应用程序中创建文件和文件夹。

1 个答案:

答案 0 :(得分:0)

我的建议:不要在安装时自动发生事情。

将创建文件的操作转换为Rake任务,并为您的gem提供Rakefile。这比自动安装更可取,因为它为用户提供了更强大的功能,可以随时随地运行命令。此外,您永远不知道用户将在什么环境中安装宝石 - 也许他们甚至不会使用Rubygems!您不应该假设任何内容,并且此选项假定为最少,并且对用户更灵活。

但是,如果您在安装过程中确实设置了魔法,那么您可以使用像executeable-hooks这样的gem来在安装gem时自动运行一些代码。您可以在gemspec中指定executable-hooks,以确保在安装gem时它可用。有关示例,请参阅the documentation