Добавьте метод к объекту в Grails и используйте его глобально - PullRequest
0 голосов
/ 08 февраля 2012

Я пытаюсь добавить некоторые строковые служебные методы в класс String, используя функциональность Groovy metaclass. Прямо сейчас у меня есть что-то вроде этого в моем закрытии инициализации в моем скрипте BootStrap.groovy:

String.metaClass.upper = {
   delegate.toUpperCase()
}

Проблема в том, что этот upper метод доступен только в рамках BootStrap ... попытка использовать его где-либо еще в приложении Grails не работает, и я получаю метод пропускает ошибки.

Есть ли способ сделать эти методы доступными везде?

1 Ответ

0 голосов
/ 08 февраля 2012

Это происходит как в тестовом, так и в рабочем контекстах? Существует ошибка, при которой все metaClass изменения откатываются после каждого юнит-теста: http://jira.grails.org/browse/GRAILS-8596

...