Strange Error with parseexcel and classifier

So I get this strange error when I have the follow two gems in the same
program:

require ‘parseexcel’
require ‘classifier’ #bayesian library

Here’s the error:
c:/Ruby/lib/ruby/gems/1.8/gems/parseexcel-0.5.1.1/lib/parseexcel/olestorage.rb:274:in
get_nth_block_no': undefined methodtimes’ for 1/2:Rational
(NoMethodError)
from
c:/Ruby/lib/ruby/gems/1.8/gems/parseexcel-0.5.1.1/lib/parseexcel/olestorage.rb:286:in
get_nth_pps' from c:/Ruby/lib/ruby/gems/1.8/gems/parseexcel-0.5.1.1/lib/parseexcel/olestorage.rb:281:infetch’
from
c:/Ruby/lib/ruby/gems/1.8/gems/parseexcel-0.5.1.1/lib/parseexcel/olestorage.rb:281:in
get_nth_pps' from c:/Ruby/lib/ruby/gems/1.8/gems/parseexcel-0.5.1.1/lib/parseexcel/olestorage.rb:327:insearch_pps’
from
c:/Ruby/lib/ruby/gems/1.8/gems/parseexcel-0.5.1.1/lib/parseexcel/olestorage.rb:343:in
search_pps' from c:/Ruby/lib/ruby/gems/1.8/gems/parseexcel-0.5.1.1/lib/parseexcel/olestorage.rb:341:ineach’
from
c:/Ruby/lib/ruby/gems/1.8/gems/parseexcel-0.5.1.1/lib/parseexcel/olestorage.rb:341:in
search_pps' from c:/Ruby/lib/ruby/gems/1.8/gems/parseexcel-0.5.1.1/lib/parseexcel/parser.rb:173:inparse’

When I comment out require ‘classifier’ then it works as expected.
Anyone have any clue why this would be happening? I looked through the
classifier code and didn’t find anything strange.

Any help would be appreciated.

Cheers.

To recreate the error, you can run test_parser.rb that is part of the
parseexcel test suite. You need to first install the classifier gem.
Just add require ‘classifier’ to the test before running it and you
will get the same errors as shown:

  1. Error:
    test_str_wk7(TestParser):
    NoMethodError: undefined method `downto’ for 1/2:Rational

C:/Ruby/lib/ruby/gems/1.8/gems/parseexcel-0.5.1.1/lib/parseexcel/parser.rb:862:in
str_wk' test_parser.rb:521:intest_str_wk7’

  1. Error:
    test_file_bar(TestParser2):
    NoMethodError: undefined method `times’ for 1/4:Rational

C:/Ruby/lib/ruby/gems/1.8/gems/parseexcel-0.5.1.1/lib/parseexcel/olestorage.rb:274:in
`get_nth_block_no’

C:/Ruby/lib/ruby/gems/1.8/gems/parseexcel-0.5.1.1/lib/parseexcel/olestorage.rb:286:in
`get_nth_pps’

C:/Ruby/lib/ruby/gems/1.8/gems/parseexcel-0.5.1.1/lib/parseexcel/olestorage.rb:281:in
`fetch’

C:/Ruby/lib/ruby/gems/1.8/gems/parseexcel-0.5.1.1/lib/parseexcel/olestorage.rb:281:in
`get_nth_pps’

C:/Ruby/lib/ruby/gems/1.8/gems/parseexcel-0.5.1.1/lib/parseexcel/olestorage.rb:327:in
`search_pps’

C:/Ruby/lib/ruby/gems/1.8/gems/parseexcel-0.5.1.1/lib/parseexcel/olestorage.rb:343:in
`search_pps’

C:/Ruby/lib/ruby/gems/1.8/gems/parseexcel-0.5.1.1/lib/parseexcel/olestorage.rb:341:in
`each’

C:/Ruby/lib/ruby/gems/1.8/gems/parseexcel-0.5.1.1/lib/parseexcel/olestorage.rb:341:in
`search_pps’

C:/Ruby/lib/ruby/gems/1.8/gems/parseexcel-0.5.1.1/lib/parseexcel/parser.rb:173:in
parse' test_parser.rb:588:intest_file_bar’

and so on…

I wasn’t able to figure out why it was happening, but I was able to
avoid the error by changing the require ‘classifier’ to require
‘classifier/bayes’ just in case someone else is having the same
problem. Cheers.