コードのバージョン番号を ruby gem 内に保存するにはどうすればよいですか?
私は実際に次の 2 つの手法を見てきました。
<gem root>/VERSION
あなたのsemverのみが含まれています。<gem root>/lib/your_gem/version.rb
次のコードが含まれています。
module IfYourCodeIsInAModule
class YourGem
VERSION="0.0.1"
end
end
私は 1. が好きです。私は 2 が好きです。コードの一部なので、バージョン番号を簡単にログに書き込むことができます。
1. コード内からバージョン番号にアクセスしたい場合、ファイルの読み取りを行う必要があるため (最悪のことではありません)、2. は好きではありません。コア クラスが別のクラスから拡張されている場合クラスの場合、私はあまりにもその良識を持っている必要がありversion.rb
ます(または、そうでなければ取得しますsuperclass mismatch
)-たとえば。
module IfYourCodeIsInAModule
class YourGem < OtherWork
VERSION = "0.0.1"
end
end
実行時に実際のコードからこのファイルが必要な場合は、問題ありません。それをgemspecに含めると、突然 require 'other_work'
バージョン番号を取得する必要があります!
私は喜んで独自の解決策を考え出しますが、これは新しい問題ではありません。コミュニティは何をしていて、これに関する一般的な知恵は何ですか?