Это очень широкий вопрос, потому что вы не упомянули, что такое драгоценный камень или как вы хотели изменить поведение, но ...
В общем, способ подойти к этому (один из способов подойти к этому) открыть драгоценный камень.Используйте редактор, который может открыть все файлы, чтобы вы могли легко переключаться с одного на другой.Когда вы посмотрите на этот драгоценный камень, выясните, какой класс содержит функциональность, которую вы хотите изменить.
Итак, вы идете в свой каталог test или spec и пишете такой тест:запустить ваши тесты.Конечно, они терпят неудачу, потому что ваша новая функциональность отсутствует.
Теперь, скажем, ваше изменение входит в spit_out_error_message
в классе AwesomeAuthentication
.Вы можете создать класс в своем проекте - возможно, в lib / awesome_auth.rb или что-то в этом роде.В нем вы делаете, как описано здесь: Rails 3: alias_method_chain все еще используется? .Вы также захотите прочитать это: http://yehudakatz.com/2009/03/06/alias_method_chain-in-models/,, как описано, как модифицировать существующий класс, используя эту технику (прокрутите вниз).
Итак, вы создаете новый spit_out_error_message
, булыжниккак описано выше и повторите тесты.