Ответ 1
Вам нужно явно указать B-камень в Gemfile для использования репозитория git или другой версии. Пока A 1.0.0 совместим с B 1.0.1, все будет в порядке. Если он совместим только с B 1.0.0, вам нужно будет создать свою собственную вилку драгоценного камня A и обновить gemspec для совместимости с B 1.0.1, а затем использовать этот репозиторий в качестве вашего драгоценного камня для A вместо рубигемов версия.
Вот пример Gemfile, который должен дать вам то, что вы хотите, если A 1.0.0 совместим с B 1.0.1.
gem 'B', :git => 'git://github.com/B/B.git', :tag => '1.0.1'
gem 'A', '~> 1.0.0'