Я пытаюсь обернуть голову вокруг Ruby, и одна вещь, с которой я борюсь, - отсутствие поддержки интерфейса/абстрактного класса. От googling about, ответ, который я постоянно вижу в абстрактных классах, связанных с Ruby, заключается в следующем: "Вы думаете на Java. Ruby не работает именно так"
Итак, как работать в Ruby без интерфейсов/абстрактных классов?
Например, в Java я мог бы создать абстрактную "книгу" класса с подклассами "роман", "учебник" и "журнал". Существует много общих функций, которые я бросаю в "книгу", но я не хочу, чтобы она была доступна напрямую - книга должна быть либо романом, либо учебником, либо журналом.
В рубине, как бы я выписал такую функциональность?