2012-06-26 1 views
14

Esistono convenzioni su come/dove specificare il numero di versione dell'applicazione?Dove definire il numero di versione dell'app Rails

Ad esempio, per le gemme di rubino lib/mygem/version.rb è il file generalmente utilizzato a tale scopo.

La mia ipotesi sarebbe la creazione di file config/version.rb così:

module MySite 
    VERSION = "0.0.4" 

    # or in MySite::Application class 
    # 
    # class Application 
    # VERSION = "0.0.4" 
    # end 
end 
+0

Vedere questo: http://stackoverflow.com/a/6178378/1352240 – YuriAlbuquerque

+0

È possibile farlo come ho risposto in precedenza : http://stackoverflow.com/a/23135266/2881964 – Arugin

risposta

16

Risponderò alla mia domanda, non sono riuscito a trovare una risposta migliore.

Dal Rails applicazione è fondamentalmente MySite::Application ho pensato che la versione di applicazione dovrebbe essere accessibile da MySite::Application::VERSION creare così:

config/inizializzatori/version.rb

module MySite 
    class Application 
    VERSION = "0.0.4" 
    end 
end 

o config/version.rb e richiedono questo file da config/application.rb

+0

+ Per andare al percorso config/version.rb, rembmer per inserire 'require File.expand_path ('../ versione', __FILE __)' alla fine di config/application.rb – Ninjaxor

6

aggiungo la mia propria versione alla classe Configurazione con un inizializzatore:

app_version.rb

class Configuration 
    class << self 
    attr_accessor :app_version 
    end 
    @app_version = 0.72 
end 

All'interno dell'applicazione, posso tirare la versione:

@app_version = Configuration.app_version 

Non sono sicuro del motivo per cui si desidera utilizzare la versione, ma utilizzo spesso il controllo delle versioni in modo da poter verificare se una versione particolare del codice è effettivamente in esecuzione. In tal caso, ho bisogno che ogni revisione del codice venga riflessa come una nuova versione, quindi uso la versione Git sul mio codice e spesso mostro solo i primi caratteri di essa poiché è abbastanza unica da identificarla.

@git_version = `git show --pretty=%H`[0..39] 
+0

Questo è fantastico. Come posso chiamarlo da una vista? Mi manca qualcosa – Riccardo