История до сих пор:
У меня есть приложение rails с моделью "Term". Все хорошо, пока не попробую установить огурец. После запуска
rake cucumber
Я получаю
Term is not a class (TypeError)
Это происходит потому, что Cucumber включает в себя еще один гем - term-ansicolor (для вывода изящного цветного текста в консоли), а term-ansicolor определяет модуль с именем «Term». Cucumber включает термин «ansicolor» перед включением моделей Rails, поэтому «термин» уже определен как модуль при загрузке модели «термин». Модули и классы верхнего уровня не могут иметь одинаковые имена в Ruby, таким образом, коллизия.
Предпочитая не переименовывать модель, я приступил к исправлению самоцвета term-ansicolor. Это оказалось сложнее, чем я думал. Я изменил имя модуля Term на «ANSITerm», но не могу понять, как заставить Cucumber загрузить мой модифицированный гем, который я поместил в RAILS_ROOT / vendor / gems / term-ansicolor.
Есть идеи? Я лаю не на том дереве?