私は gem を作成していますがrbappscript
、Mac OS X の追加機能にその gem を使用します。
他のプラットフォームのユーザーにその依存関係を強制的にインストールすることはあまり良い考えではありません。また、インストールされるかどうかもわかりません。では、プラットフォームに基づいて依存する gem をカスタマイズすることは可能で、これによって問題が発生することはありませんか?
オプションの場合、依存関係ではありません。そのように宣言しないでください。
rbappscript
ドキュメントにメモを追加して、検出された場合は追加の機能が利用可能であることを通知します。
次に、コードで、ライブラリの可用性を確認するだけです。ユーザーがMacで実行している場合でも、特定の理由(たとえば、複数のプラットフォームでの予測可能な動作)のために、この機能をロードしないことを選択できます。
依存関係を宣言する場合は、RUBY_PLATFORM定数を使用できます
# only on OSX
if RUBY_PLATFORM =~ /darwin/i
gem 'rbappscript'
end
# Only JRUBY
if defined? JRUBY_VERSION
gem 'something_for_jruby'
end