lunedì 25 febbraio 2008

Ottenere la revisione SVN nella vostra applicazione Rails

Se volete stampare il numero di revisione della vostra applicazione Rails su una pagina potete fare come segue:

  1. Aprite il file config/environment.rb

  2. Aggiungete questa linea
    "MY_APP_REVISION = %x[(cd "#{RAILS_ROOT}" && svn info | grep Revision | cut -c 11-)].strip"

  3. Salvate e aprite la view dove volete visualizzare il numero di revisione

  4. 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