flyerhzm / rfetion

rfetion is a ruby gem for China Mobile fetion service that you can send SMS free.
61 stars 8 forks source link

in ruby 1.8.6 undefined method `first' for #<REXML::Elements:0x2b0295f578d8> (NoMethodError) #8

Closed alvin2ye closed 14 years ago

alvin2ye commented 14 years ago

I, [2009-10-30T14:55:26.384063 #4943] INFO -- : fetion login I, [2009-10-30T14:55:33.635825 #4943] INFO -- : fetion login success I, [2009-10-30T14:55:33.635926 #4943] INFO -- : fetion http register I, [2009-10-30T14:55:36.766865 #4943] INFO -- : fetion http register success I, [2009-10-30T14:55:36.766974 #4943] INFO -- : fetion get buddy list I, [2009-10-30T14:55:42.228820 #4943] INFO -- : fetion get buddy list success I, [2009-10-30T14:55:42.228921 #4943] INFO -- : fetion get contacts info /usr/lib/ruby/gems/1.8/gems/rfetion-0.3.6/lib/rfetion/fetion.rb:170:in get_contacts_info': undefined methodfirst' for #REXML::Elements:0x2b0295f578d8 (NoMethodError) from /usr/lib/ruby/1.8/rexml/element.rb:934:in each' from /usr/lib/ruby/1.8/rexml/xpath.rb:53:ineach' from /usr/lib/ruby/1.8/rexml/element.rb:934:in each' from /usr/lib/ruby/gems/1.8/gems/rfetion-0.3.6/lib/rfetion/fetion.rb:169:inget_contacts_info' from /usr/lib/ruby/gems/1.8/gems/rfetion-0.3.6/lib/rfetion/fetion.rb:167:in each' from /usr/lib/ruby/gems/1.8/gems/rfetion-0.3.6/lib/rfetion/fetion.rb:167:inget_contacts_info' from /usr/lib/ruby/gems/1.8/gems/rfetion-0.3.6/lib/rfetion/fetion.rb:49:in send_sms_to_friends' from /usr/lib/ruby/gems/1.8/gems/rfetion-0.3.6/lib/rfetion/command.rb:75 from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:ingem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in require' from /usr/lib/ruby/gems/1.8/gems/rfetion-0.3.6/bin/rfetion:5 from /usr/bin/rfetion:19:inload' from /usr/bin/rfetion:19 agideo@ats1:~/apps/comboo$ vi /usr/lib/ruby/gems/1.8/gems/rfetion-0.3.6/lib/rfetion/fetion.rb agideo@ats1:~/apps/comboo$ ruby -v ruby 1.8.6 (2007-06-07 patchlevel 36) [x86_64-linux]

alvin2ye commented 14 years ago
alvin@w02u:/tmp/hw$ irb
irb(main):008:0> VERSION
=> "1.8.6"
irb(main):001:0> require 'rexml/document'
=> true
irb(main):002:0> m = REXML::Document.new ''
=>  ... 
irb(main):003:0> m.elements.first
NoMethodError: undefined method `first' for # ... >
irb(main):005:0> m.elements[0]
RuntimeError: index (0) must be >= 1
        from /usr/lib/ruby/1.8/rexml/element.rb:797:in `[]'
        from (irb):5
irb(main):006:0> m.elements[1]
=>  ... 
flyerhzm commented 14 years ago

Do you mean that you have no contacts for your fetion? Can you use --debug option to print your debug information for me?

alvin2ye commented 14 years ago

已经邮件给你

alvin2ye commented 14 years ago

已经解决的是另一个BUG , ruby 版本的BUG 还是存在

同样的命令 在

alvin@w02u:~$ ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux]
alvin@w02u:~$ gem list | grep rfetion
rfetion (0.3.7, 0.3.6, 0.3.3, 0.3.2)
alvin@w02u:~$
发送成功

在
agideo@ats1:~/apps/comboo$ ruby -v
ruby 1.8.6 (2007-06-07 patchlevel 36) [x86_64-linux]
agideo@ats1:~/apps/comboo$ gem list | grep rfetion
rfetion (0.3.7, 0.3.6)
发送失败
错误消息 如下

I, [2009-11-01T22:58:09.827743 #20579]  INFO -- : fetion login
I, [2009-11-01T22:58:16.085053 #20579]  INFO -- : fetion login success
I, [2009-11-01T22:58:16.085157 #20579]  INFO -- : fetion http register
I, [2009-11-01T22:58:20.309937 #20579]  INFO -- : fetion http register success
I, [2009-11-01T22:58:20.310043 #20579]  INFO -- : fetion get buddy list
I, [2009-11-01T22:58:24.733387 #20579]  INFO -- : fetion get buddy list success
I, [2009-11-01T22:58:24.733487 #20579]  INFO -- : fetion get contacts info
/usr/lib/ruby/gems/1.8/gems/rfetion-0.3.7/lib/rfetion/fetion.rb:170:in `get_contacts_info': undefined method `first' for # (NoMethodError)
        from /usr/lib/ruby/1.8/rexml/element.rb:934:in `each'
        from /usr/lib/ruby/1.8/rexml/xpath.rb:53:in `each'
        from /usr/lib/ruby/1.8/rexml/element.rb:934:in `each'
        from /usr/lib/ruby/gems/1.8/gems/rfetion-0.3.7/lib/rfetion/fetion.rb:169:in `get_contacts_info'
        from /usr/lib/ruby/gems/1.8/gems/rfetion-0.3.7/lib/rfetion/fetion.rb:167:in `each'
        from /usr/lib/ruby/gems/1.8/gems/rfetion-0.3.7/lib/rfetion/fetion.rb:167:in `get_contacts_info'
        from /usr/lib/ruby/gems/1.8/gems/rfetion-0.3.7/lib/rfetion/fetion.rb:49:in `send_sms_to_friends'
        from /usr/lib/ruby/gems/1.8/gems/rfetion-0.3.7/lib/rfetion/command.rb:75
        from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
        from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
        from /usr/lib/ruby/gems/1.8/gems/rfetion-0.3.7/bin/rfetion:5
        from /usr/bin/rfetion:19:in `load'
        from /usr/bin/rfetion:19

flyerhzm commented 14 years ago

fix in 0.3.8