私は宝石を作成しています、そしてそれはその依存関係をインストールするには、他のプラットフォームのユーザーを強制OSプラットフォーム別にgemの依存関係を選択する必要がありますか?
は非常に良いアイデアではない、と私もよく分からないのMac OS X上で、追加機能のためにrbappscript
宝石を使用します。それはまったくインストールされます。だから、プラットフォームに基づいて依存する宝石をカスタマイズすることは可能ですか?これは問題を生じませんか?
私は宝石を作成しています、そしてそれはその依存関係をインストールするには、他のプラットフォームのユーザーを強制OSプラットフォーム別にgemの依存関係を選択する必要がありますか?
は非常に良いアイデアではない、と私もよく分からないのMac OS X上で、追加機能のためにrbappscript
宝石を使用します。それはまったくインストールされます。だから、プラットフォームに基づいて依存する宝石をカスタマイズすることは可能ですか?これは問題を生じませんか?
これはオプションですが、依存関係ではありません。それだけを宣言しないでください。
rbappscript
が検出された場合、追加の機能が利用可能であることを伝えるメモを文書に追加します。
あなたのコードでは、ライブラリの可用性をチェックするだけです。ユーザーがMacで動作していても、何らかの理由でこの機能をロードしないことを選択できます。たとえば、複数のプラットフォームで予測可能な動作です。
あなたがユーザーに選択する権利を与えるための依存関係
# only on OSX
if RUBY_PLATFORM =~ /darwin/i
gem 'rbappscript'
end
# Only JRUBY
if defined? JRUBY_VERSION
gem 'something_for_jruby'
end
+1を宣言しているRUBY_PLATFORM定数を使用することができます。 –