Я бы не рекомендовал создавать несколько наборов гемов, это будет беспорядок обслуживания (который, вероятно, также учитывает наборы гемов для разных Ruby), а также есть чистый способ управления несколькими версиями ruby внутри Gemset (учитывая, что вы 100% уверен, что вы обслуживаете только эти версии):
if Gem::Version.new('1.8.7') == Gem::Version.new(RUBY_VERSION)
# your gemspec for 1.8.7
else
# your gemspec for 2.5.1
Использование Gemfile::Version
позволяет выполнять сравнения версий, например:
Gem::Version.new('1.8.7') < Gem::Version.new('2.5.1')
# => true
См. документы для получения дополнительной информации