Es ist üblich, eine version.rb-Datei zu haben, die Version des Juwel definieren, wie:Was den Nutzen von version.rb in Ruby Juwel ist
module Foo
VERSION = "0.0.1"
end
und in der .gemspec Datei benötigen die Version .rb und benutze dort Foo :: VERSION.
Was ist der Vorteil dieser Konvention?
-
auch irgendwann, wenn Namespace verwendet wird, kann die erzeugte verison Datei tief in verschachtelten Ordnern. Wäre es nicht einfacher, eine version.rb direkt unter lib/zu platzieren und dort die Version anzugeben?
Warum sollten Sie die Änderungsrate der Gemspec beachten? Nur um seine Git Geschichte sauberer zu halten? Es scheint mir nicht wichtig. Ich denke, ein besserer Grund ist, dass viele Edelsteine die Version irgendwann aus irgendeinem Anwendungscode lesen wollen. Zum Beispiel bezieht sich "Rake - Version" auf "Rake :: VERSION". –
@DanielLubarov: Clean commit Geschichte ist dir nicht wichtig? Oh mein. Ihr Vorschlag ist auch eine gute Vermutung, aber git Geschichte ist ziemlich wichtig. Deshalb zerquetschen wir Feature-Zweige in ein oder wenige Commits. –
Persönlich würde ich niemals Indirektion zu meinem Code hinzufügen, nur um das Gitprotokoll einer Datei zu kürzen. Polierter Code ist wichtiger für mich als polierte Gitgeschichte. –