Eil, vedendo la mail di Cluter Vipic sul rinominare una app rails m' venuto in mente di chiedere di nuovo se qualcuno si fatto una gem/rake task/script awk per rinominare qualcosa dentro una app rails in modo furbo. Ovvero, una cosa tipo rails rename foo bar che faccia .1 un rename di file e directory "convenzionali" app/models/foo.rb -> bar.rb app/controllers/foos_controller.rb -> bars.rb app/views/foos/ -> /views/bars/ test/unit.... .2 un replace dentro il resto dei file delle occorrenze di Foo, 'foo/bar', FooController, @foo etc .3 una bella migrazioncina che rinomini la tabella foos in bars e i riferimenti foo_id in bar_id Premesso che nn funzioner nel 100% dei casi etc etc.. io avevo uno script che faceva una parte del lavoro, ed era comodo. Ma era due hard-drive-non-backuppati fa .. -- twitter: @riffraff blog (en, it): www.riffraff.info riffraff.blogsome.com work: circleme.com
on 2012-05-03 09:19
on 2012-05-03 10:49
C'è https://github.com/get/Rename che non ho mai provato perché normalmente uso 2 script one-liner fatti con egrep, ma che adesso non ho a portata di mano Sulla CLI propongo: - rails rename old new Che fa vedere file e riga di dove verrà la sostituzione - rails rename old new -f Che procede effettivamente Luigi
on 2012-05-03 10:53
Maurizio -- My profile <https://plus.google.com/100973969013103507046/about> 2012/5/3 Luigi Maselli - grigio.org <riccio@inmail.sk> > Che procede effettivamente e - rails rename old new -i che procede interattivamente (mostrando ogni occorrenza la scelta di conferma/skip) ;-)
on 2012-05-03 11:14
grep -lr -e 'OldApp:' * | xargs sed -i 's/OldApp:/NewApp:/g' Trovato, "questo trenino" di script per me ha funzionato (su Linux), su mac la seconda parte non va e ottengo sed: 1: "Rakefile": invalid command code R Luigi
on 2012-05-03 11:36
Luigi Maselli - grigio.org wrote in post #1059392: > grep -lr -e 'OldApp:' * | xargs sed -i 's/OldApp:/NewApp:/g' > > Trovato, "questo trenino" di script per me ha funzionato (su Linux), su > mac la seconda parte non va e ottengo > > sed: 1: "Rakefile": invalid command code R > > Luigi Ciao Luigi, su Mac quando usi sed devi specificare l'estensione per i backup. Ti incollo la risposta che ho dato su stackoverwlow a una domanda simile: If you use the -i option you need to provide an extension for your backups. If you have: File1.txt File2.cfg The command: sed -i '.original' 's/old_link/new_link/g' * create 2 backup files like: File1.txt.original File2.cfg.original You can use sed -i '' 's/old_link/new_link/g' * to ignore backups. http://stackoverflow.com/questions/4247068/sed-com... Quindi il comando da usare è: grep -lr -e 'OldApp:' * | xargs sed -i '' 's/OldApp:/NewApp:/g' -- Duilio Ruggiero http://sinetris.info
on 2012-05-03 21:52
Grazie, confermo questo funziona anche su mac. Luigi Duilio Ruggiero wrote in post #1059394: > > grep -lr -e 'OldApp:' * | xargs sed -i '' 's/OldApp:/NewApp:/g' >
on 2012-05-04 13:20
Ho creato una gem che può essere integrata facilmente in qualsiasi app e si usa tramite rake. Testate, forkate, aggiungete pure se volete rinominare modelli e/o migration. https://github.com/grigio/rails_rename Per rinominare un progetto basta aggiungere gem 'rails_rename' al Gemfile, bundle install ed eseguire: rake rails:rename[NewAppName] Ciao Luigi
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.