prodis / correios-frete

Gem para cálculo de frete utilizando o Web Service dos Correios (http://www.correios.com.br/webservices).
http://prodis.blog.br/correios-frete-gem-para-calculo-de-frete-dos-correios
132 stars 54 forks source link

undefined method `key' for #<Hash:0xb5e8eea4> #2

Closed leosmeira closed 13 years ago

leosmeira commented 13 years ago

irb(main):007:0> servico = frete.calcular :sedex NoMethodError: undefined method key' for #<Hash:0xb5e8eea4> from /home/rails_3/.gems/gems/correios-frete-0.1.0/lib/correios/frete/servico.rb:30:inparse' from /home/rails_3/.gems/gems/correios-frete-0.1.0/lib/correios/frete/parser.rb:16:in servicos' from /home/rails_3/.gems/gems/nokogiri-1.5.0/lib/nokogiri/xml/node_set.rb:239:ineach' from /home/rails_3/.gems/gems/nokogiri-1.5.0/lib/nokogiri/xml/node_set.rb:238:in upto' from /home/rails_3/.gems/gems/nokogiri-1.5.0/lib/nokogiri/xml/node_set.rb:238:ineach' from /home/rails_3/.gems/gems/correios-frete-0.1.0/lib/correios/frete/parser.rb:15:in servicos' from /home/rails_3/.gems/gems/correios-frete-0.1.0/lib/correios/frete.rb:39:incalcular' from (irb):7

Using:

Rails 3.0.7

leosmeira commented 13 years ago

Eu acho que achei o erro.

TYPES.key(codigo)

Troque por

TYPES.index(codigo.to_s)

prodis commented 13 years ago

No Ruby 1.9 o método Hash#index foi substituído pelo método Hash#key. Alterei a implementação para não utilizar nenhum dos dois métodos.

Por favor utilize a última versão da gem.

Obrigado.