Closed andrerpbts closed 12 years ago
Você pode colocar seu script em algum lugar para analisar? Claro, removendo os dados de autenticação...
Bom, o que me parece, sua aplicação está configurado com locale para :en (english) e o brData o parser para transformar string em data, considera as constantes de nome de dias e meses.
https://github.com/tapajos/brazilian-rails/blob/master/brdata/lib/brdata/time_portuguese.rb#L35-42
Qual a versão do BR você está usando? Confirma que o locale está para inglês?
versão 3.0.8 no Rails 3.0.10, sobre o JRuby 1.6.4 modo 1.8.7 de compatibilidade...
Quanto a locale, no application.rb está pt-BR.
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
config.i18n.default_locale = "pt-BR"
A string que vem do e-mail parece estar sendo processada pelo strftime
modificado pela gem brazilian-rails
e está devolvendo Qui, 24 Mai 2012 16:11:52 -0300
. Ao passar pelo parser (Mail::DateTimeParser
) na conversão para DateTimeElement
, o método parse
não está reconhecendo esta string por não estar em inglês. Entendi errado?
Se for isso, tem alguma forma de somente neste momento desativar esse comportamento do strftime
?
@andrerpbts eu tive este mesmo problema, e incrivelmente tbm foi ontem... kkk
pois estava vendo a gem, e o erro esta na gem brdata, que esta forçando isso em pt.
Tive que reescrever a Class Time, e os seus parametros. Tambem uso JRuby, e as minhas configurações são semelhantes a sua.
segue abaixo a modificação que fiz.
https://gist.github.com/2788271
Galera, estou mexendo na gem, mas estou com a dificuldade de conseguir pegar a linguagem da sessao, tipo ou en ou pt.
espero poder ter ajudado.
att. Rodrigo Martins
Exato, funcionou seu código aqui tb... Eu estava tentando reescrever o metodo também mas ainda estva longe da solução que encontrou...
Seria bom sim fazer alguma coisa nativa na gem...
Quanto para saber o locale, com o comando p I18n.locale
eu tive a resposta :"pt-BR"
muito legal.. vou tentar aqui e mando o request.. :)
Ao invés de fazer este "work around", tente configurar o locale para :en durante a execução do script e então volte ao :"pt-BR" após
Estou montando um script que lê uma caixa de e-mails do Gmail e chama um método
receive
de uma classeMailer
minha, para converter cada mensagem e-mail lida em um objetoMail
. Porém, se deixar a gembrazilian-rails
no projeto, dá um erro de parse: