Я новичок в Rails, и я пытаюсь использовать omniauth с рельсами 2.3.8. я не смог найти никакого руководства для этой версии рельсов, поэтому я сослался на http://blog.railsrumble.com/blog/2010/10/08/intridea-omniauth .
Я добавил инициализатор следующим образом:
OmniAuth::Strategies::Twitter = {
:consumer_key => 'xxxxxx',
:consumer_secret => 'xxxxxx'
}
После этого шага если я попытаюсь перейти по URL-адресу '/ auth / twitter', я получу «Нет
Мой код пытается понять что-то, что не совсем точно определено, или есть много способов сделать это. Я хочу, чтобы мой код пробовал несколько способов понять это, пока не добьется успеха или не закончатся стратегии. Но я не нашел способа сделать это аккуратным и читабельным.
Мой частный случай: мне нужно найти определенный тип метода из интерфейса. Он может быть аннотирован для ясности, но он также может быть единственным подходящим методом (по его аргументам).
Итак, мой код в настоящее время читается так:
Method candidateMethod = getMethodByAnnotation(clazz);
if (candidateMethod == null) {
candidateMethod = getMethodByBeingOnlyMethod(clazz);
}
if (candidateMethod == null) {
candidateMethod = getMethodByBeingOnlySuitableMethod(clazz);
}
if (candidateMethod == null) {
throw new NoSuitableMethodFoundException(clazz);
}
Там должно быть лучший способ …
Изменить: Методы возвращают метод, если он найден, null
в противном случае. Я мог бы переключить это, чтобы попытаться / поймать логику, но это вряд ли сделает ее более читаемой.
Edit2: К сожалению, я могу принять только один ответ: (