Почему этот код с помощью ruby-mbox gem не анализирует файлы mbox?

Я установил ruby-mbox, выполнив gem install ruby-mbox.

Выполнение этого:

#!/usr/bin/ruby
require 'rubygems'
require 'mbox'
m = IO.read('test.eml')
puts m.size
m = Mbox.new(m)
puts m

создает это исключение (в строке 7):

/Library/Ruby/Gems/1.8/gems/ruby-mbox-0.0.2/lib/mbox/mbox.rb:45:in `initialize': неинициализированная константа Mbox::StringIO (NameError)

Я доказал, что "m" присваивается строка, содержащая содержимое файла, непосредственно перед вызовом Mbox.new(m).

Похоже, что Mbox::StringIO не должен был быть определен.

Что здесь не так?

Рубиновая версия:

ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]

(Это рубин по умолчанию, установленный в OS X 10.6.6)


person Dafydd Rees    schedule 15.01.2011    source источник


Ответы (1)


Извините, люди, я должен был внимательно посмотреть, прежде чем писать здесь...

Починил это:

Просто вставил строку require 'stringio', чтобы получить это:

#!/usr/bin/ruby
require 'rubygems'
require 'stringio'
require 'mbox'
m = IO.read('test.eml')
puts m.size
m = Mbox.new(m)
puts m

Похоже, что stringio предполагается загруженным, но явно не загруженным ruby-mbox...

Как ни странно, примеры скриптов тоже не загружаются...

person Dafydd Rees    schedule 15.01.2011