Лично я считаю, что дефис как разделитель слов обеспечивает максимальную читаемость и типизируемость в целом, поэтому я рекомендую использовать его там, где это возможно (в некоторых случаях дефис не может использоваться, например в идентификаторах в большинстве языков). Важно помнить, что выбранная вами схема будет иметь отношение к требованию, которое пользователи будут использовать с вашей библиотекой, и вы хотите избегать использования имени другого гема, отличного от имени библиотеки .
Плохой
# gem install my_cool_lib
require 'my-cool-lib'
# gem install MyCoolLib
require 'my_cool_lib'
Хорошо
# gem install my_cool_lib
require 'my_cool_lib'
# gem install my-cool-lib
require 'my-cool-lib'
К сожалению, небольшое количество библиотек нарушает это простое правило юзабилити. Не будь одной из тех библиотек. :)