Читаю исходники стандартной библиотеки
require "rss/0.9"
module RSS
...
end
и в процессе чтения до меня доходит что модуль был переоткрыт и сейчас расширяется!
У меня вопрос: зачем так делать? Почему бы просто не использовать наследование? Зачем вообще нужен манки-патчинг? Код становится на порядок запутанее. В том же С# для определения класса в разных файлах используется ключевое слово partial, ага значит определение может быть где то еще.