¿Por qué no el código usando los archivos de la gema de análisis mbox mbox rubí?
Pregunta
He instalado rubí mbox haciendo joya instalar ruby-mbox
Al ejecutar este:
#!/usr/bin/ruby
require 'rubygems'
require 'mbox'
m = IO.read('test.eml')
puts m.size
m = Mbox.new(m)
puts m
produce esta excepción (en la línea 7):
/Library/Ruby/Gems/1.8/gems/ruby-mbox-0.0.2/lib/mbox/mbox.rb:45:in `initialize ': constante sin inicializar Mbox :: StringIO (NameError)
He demostrado que "m" se asigna una cadena que contiene el contenido del archivo, justo antes de Mbox.new (m) se llama.
Parece como si el Mbox :: StringIO debería haber sido definida por no lo ha sido.
¿Qué va mal aquí?
versión de Ruby:
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
(Eso es el rubí instalado por defecto en OS X 10.6.6)
Solución
personas tristes, que debería haber estudiado más duro antes de publicar aquí ...
Fijo que:
Simplemente inserta la línea require 'StringIO' para dar a este:
#!/usr/bin/ruby
require 'rubygems'
require 'stringio'
require 'mbox'
m = IO.read('test.eml')
puts m.size
m = Mbox.new(m)
puts m
Parece que se supone StringIO para ser cargado - pero no se carga explícitamente por el rubí-mbox ...
Curiosamente, los scripts de ejemplo no cargan tampoco ...