Thor - 最后注入文件

时间:2013-11-07 12:21:11

标签: ruby ruby-on-rails-4 thor

我正在开发一个rails引擎,我正在尝试编写一个将该行放入的生成器

do_stuff (foo)

作为config/routes.rb中的最后一个语句,不会破坏文件语法。

具体来说,如果我的config/routes.rb目前看起来像这样

Rails.application.routes.draw do
    blah
    more blah
end

运行生成器后,我希望config/routes.rb看起来像这样

Rails.application.routes.draw do
    blah
    more blah
    do_stuff (foo) # injected line
end

我查看了ActiveAdmin does,但无法创建一条毯子最后一行规则。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:11)

我没有测试出来,但我认为你在ActiveAdmin生成器中链接的内容可能会像这样:

inject_into_file "config/routes.rb", "  do_stuff(foo)\n", :before => /^end/

这应该在一行开头的end令牌之前插入您的代码。这只适用于格式正确的路由文件....