ruby - Thor - 最后注入(inject)文件

标签 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 ,但无法创建一揽子最后一行规则。非常感谢任何帮助。

最佳答案

我没有对此进行测试,但我认为根据您在 ActiveAdmin 生成器中链接到的内容,它可能会像这样工作:

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

这应该将您的代码插入到从行首开始的 end 标记之前。这只适用于格式正确的路由文件......

关于ruby - Thor - 最后注入(inject)文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19835803/

相关文章:

mysql - ROR + MySql 查询 - 将单个值与单列中存在的逗号分隔值进行比较

javascript - 图像分层,单击图标而不击中背景

rspec - 在哪里可以找到使用 RSpec 测试 Thor 脚本的好示例?

ruby - 执行位于 bundle 的 gem 中的 Thor 任务

Ruby Gem 包管理器因 Gem::GemNotFoundException 失败

ruby-on-rails - 载波,保存记录?

java - 在客户端(树莓派)服务器之间传输数据测量(http/amqp/mqtt)

Ruby 效率

ruby-on-rails - 嵌套属性首先保存父级

Ruby thor 命令行工具命令