Domanda

Sto lavorando a un motore Rails e sto cercando di scrivere un generatore che metterà questa linea

do_stuff (foo)

Come ultima affermazione in config/routes.rb, senza rompere la sintassi del file.

In particolare, se il mio config/routes.rb Sembra questo attualmente

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

Dopo aver eseguito il generatore, vorrei il config/routes.rb Per sembrare così

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

Ho guardato cosa ActivEadmin lo fa, ma non riesco a creare una regola di ultima riga coperta. Qualsiasi aiuto è molto apprezzato.

È stato utile?

Soluzione

Non l'ho provato, ma penso da ciò a cui ti sei collegato nel generatore di Activaadmin potrebbe funzionare in questo modo:

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

Questo dovrebbe inserire il tuo codice proprio prima di un end Token che inizia all'inizio di una linea. Questo funziona solo per i file di rotte correttamente formattati ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top