Тор - вставить в файл в конце

Я работаю над двигателем рельсов, и я пытаюсь написать генератор, который поместит эту строку

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, но не могу создать общее правило последней строки. Любая помощь с благодарностью.

1 ответ

Решение

Я не проверял это, но я думаю, что из того, что вы связали в генераторе ActiveAdmin, это может работать так:

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

это должно вставить ваш код прямо перед end токен, который начинается в начале строки. это работает только для правильно отформатированных файлов маршрутов, хотя....

Другие вопросы по тегам