В общем, исправление обезьян никогда не бывает хорошей практикой.Тем не менее, я часто использую его для очень особых случаев, отличных от приложения.Во всех других случаях я бы предпочел разветвить гем или плагин и установить разветвленный драгоценный камень прямо в папку с драгоценными камнями моего приложения.
У меня также есть несколько модулей инструментов, которые обезьяна исправляет некоторые классы для добавления специальныхцелевое поведение в некоторых стандартных классах для повторного использования в различных приложениях - но они все еще достаточно особенные, чтобы не быть полезными для публики, или просто невозможно создавать вилки.
Так что, в конце концов, это решение о специализациии совместимость.Всегда имейте в виду, что исправление обезьян с большей вероятностью нарушит ожидаемое поведение других плагинов или драгоценных камней, которые вы можете использовать в своем проекте.Это может стать еще более неизбежным после обновления компонентов в вашей рабочей экосистеме приложений (или внешней поддерживающей экосистеме, такой как Rails и ее зависимости).