Стоит ли выбирать гем зависимости от платформы ОС? - PullRequest
2 голосов
/ 03 декабря 2010

Я создаю драгоценный камень, и он будет использовать драгоценный камень rbappscript для дополнительной функциональности в Mac OS X.

Заставлять пользователей других платформ устанавливать эту зависимость не очень хорошая идея, и я даже не уверен, установит ли она вообще. Итак, можно ли настроить, какие драгоценные камни будут зависеть от платформы, и это не создаст проблем?

Ответы [ 2 ]

4 голосов
/ 03 декабря 2010

Если это необязательно, это не зависимость.Только не объявляйте это как таковой.

Добавьте в свою документацию примечание, сообщающее, что если обнаружен rbappscript, доступны дополнительные функции.

Тогда в вашем коде вы простопроверьте наличие библиотеки.Даже если ваш пользователь работает на Mac, он может не загружать эту функциональность по любой заданной причине - например, предсказуемое поведение на нескольких платформах.

1 голос
/ 03 декабря 2010

Вы можете использовать константу RUBY_PLATFORM, где вы объявляете зависимости

# only on OSX
if  RUBY_PLATFORM =~ /darwin/i
  gem 'rbappscript'
end

# Only JRUBY
if defined? JRUBY_VERSION
  gem 'something_for_jruby'
end
...