Расширение Ruby с помощью C ++ не является проблемой. По сути, единственное, что вам нужно помнить при написании вашего расширения, - это объявить метод init вашего расширения как extern "C", например так:
extern "C" void Init_your_extension () {
// ...
}
Мне недавно пришлось представить функцию C ++ для моего кода ruby, вы можете найти код здесь, если хотите (это просто базовый материал, поэтому я думаю, что будет хорошо, чтобы вы начали):