За счет всяких волшебных штук типа ObjectSpace, интроспекции и возможностей менять поведение любого объекта прямо в рантайме, у вас появляется возможность написать гем, который будет менять поведение каких-то компонентов так, как вам нужно. То есть можно сделать все что угодно (в теории) просто поставив нужные гемы.
p.s. Сам с ruby знаком мельком, так что не могу сказать точно как это все работает. Знаю только приблизительно. Но
@CrusaderGo верно сказал - там кругом магия.