Ошибка стратегии omniauth gowalla: сравнение строки с Bignum не удалось - PullRequest
0 голосов
/ 26 сентября 2011

насколько я могу получить, ответный код gowalla содержит и expires_at, и expires_in, но expires_at не является допустимой строкой даты, поэтому выдает ошибку при сравнении дат
любая идея взломать omniauth или стратегию gowalla была бы оченьдобро пожаловать !!!

рельсы 3.0.9 рубин 1.9.2

comparison of String with Bignum failed
oauth2 (0.5.0) lib/oauth2/access_token.rb:72:in `<'
oauth2 (0.5.0) lib/oauth2/access_token.rb:72:in `expired?'
oa-oauth (0.3.0) lib/omniauth/strategies/oauth2.rb:67:in `callback_phase'


{
"scope":"read",
"expires_at":"Sun, 09 Oct 2011 12:47:37 -0000",
"username":"altuure",
"expires_in":1172767,
"refresh_token":"XX",
"access_token":"XX" 
}

Ответы [ 2 ]

0 голосов
/ 17 января 2012

извините за задержку, но я отправил патч на github, подробности можно найти здесь http://github.com/intridea/omniauth/issues/485 -

0 голосов
/ 26 сентября 2011

Почему бы вам просто не использовать то, что вы можете.expires_in представляется интервалом, поэтому вы можете сделать:

expires_at = Time.now + json["expires_in"].to_i

Тем не менее, строка даты для expires_at определенно анализируется в 1.9.2-p290 (используя DateTime.parse(str)).Всегда есть DateTime.strptime, если вам нужно проанализировать строку даты / времени в соответствии с заданным форматом.

...