- Aprite il file config/environment.rb
- Aggiungete questa linea
"MY_APP_REVISION = %x[(cd "#{RAILS_ROOT}" && svn info | grep Revision | cut -c 11-)].strip" - Salvate e aprite la view dove volete visualizzare il numero di revisione
- aggiungete la linea "<%= MY_APP_REVISION %>"
Il comando funziona come segue:
- %x[] è simile alla funzione system() di ruby e permette di eseguire un comando in una shell e catturarne l'output
- tutti i comandi sono rinchiusi all'interno di due parentesi tonde in modo da aprire una nuova shell esclusivamente per questo comando
- prima mi posiziono della directory principale di rails, se ho successo, lancio il comando 'svn info' che mi ritorna tutte le informazioni sul mio repository svn
- redirigo l'output a grep che mi filtra le linee contenenti la parola 'Revision' (in questo caso una sola), otterrò così la stringa 'Revision: 580'
- redirigo di nuovo l'output ('Revision: 580') al comando cut che taglia una stringa. I parametri passati a cut sono '-c 11-' ovvero taglia dal carattere 11 fino al termine della linea
- L'output ottenuto da %x[] sarà una stringa terminata da 'n', per eliminare il carattere di fine linea utilizzo il metodo standard della classe string strip().
Naturalmente questo tip funziona solo su sistemi unix-like
Ciao Piero
Nessun commento:
Posta un commento