Я автор довольно простого движка Rails gem , который в основном состоит из помощника и небольшого количества javascript.
Единственная реальная зависимость во время выполнения - это jquery-rails.
Надеюсь, он должен быть в значительной степени совместим с любой версией Rails> 5. Поскольку я изначально писал камень, я использовал прагматическую волнистую стрелку.
s.add_dependency 'rails', '~> 5.0.0', '>= 5.0.0.1'
Что было довольно глупо, поскольку он не работает с 5.1+. Теперь я изменил его на открытое требование ">= 5.0"
и gem build
предупреждает, что его не рекомендуется:
WARNING: open-ended dependency on rails (>= 5.0) is not recommended
if rails is semantically versioned, use:
add_runtime_dependency 'rails', '~> 5.0'
Какова лучшая практика с точки зрения минимизации обслуживания и обеспечения достойной совместимости?
Должен ли я объявить зависимость Rails как development_dependency, поскольку подразумевается, что гем монтируется в движке rails?