Ruby Forum Italian Ruby user group > Gmail e ruby

Posted by Guglielmo Fachini (guly)
on 15.08.2008 19:57
Salve a tutti, è da poco che mi sono interessato a questo fantastico
linguaggio ed ora volevo utilizzarlo per creare un semplice script che
mi dice se ho nuove mail sul mio account di posta gmail. Per iniziare ho
cercato un po con google ed ho trovato questa guida
http://ruby.html.it/guide/lezione/3681/gmail/ dove viene utilizzata la
gems gmailer. Ho provato l'esempio ed  mi escono moltissimi warning fino
ad arrivare ad un errore. Vi posto l'output completo:
[code]
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:60: warning:
useless use of a variable in void context
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:61: warning:
useless use of a variable in void context
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:62: warning:
useless use of a variable in void context
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:63: warning:
useless use of a variable in void context
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:64: warning:
useless use of a variable in void context
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:65: warning:
useless use of a variable in void context
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:66: warning:
useless use of a variable in void context
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:67: warning:
useless use of a variable in void context
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:68: warning:
useless use of a variable in void context
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:69: warning:
useless use of a variable in void context
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:70: warning:
useless use of a variable in void context
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:60: warning:
instance variable @cookie_str not initialized
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:61: warning:
instance variable @login not initialized
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:62: warning:
instance variable @pwd not initialized
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:63: warning:
instance variable @raw not initialized
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:64: warning:
instance variable @contact_raw not initialized
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:65: warning:
instance variable @timezone not initialized
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:66: warning:
instance variable @created not initialized
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:67: warning:
instance variable @proxy_host not initialized
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:68: warning:
instance variable @proxy_port not initialized
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:69: warning:
instance variable @proxy_user not initialized
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:70: warning:
instance variable @proxy_pass not initialized
/usr/lib/ruby/1.8/net/http.rb:571: warning: using default DH parameters.
/usr/lib/ruby/1.8/net/http.rb:571: warning: using default DH parameters.
/usr/lib/ruby/1.8/net/http.rb:571: warning: using default DH parameters.
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:1011:in `messages':
undefined method `box' for nil:NilClass (NoMethodError)
        from
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:1008:in `each'
        from
/usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:1008:in `messages'
        from gmail_check.rb:14
[/code]
Spero possiate aiutarmi.
--Guglielmo
Posted by Guglielmo Fachini (guly)
on 15.08.2008 22:38
Dimenticavo il codice è questo:
[code]
#!/usr/bin/ruby -w
#Program:  Gmail Mail Checker
#Purpose:  Check a mails status on a gmail account

require 'rubygems'
require 'gmailer'

count = 0
name = 'mail'
pwd = 'password'
gConn = GMailer.connect(:username=>name,:password=>pwd)

gConn.messages(:standard=>'all',:read=>'false').each_msg do |msg|
  count += 1
end

puts count
[/code]
Posted by Paolo Montrasio (pmontrasio)
on 16.08.2008 11:18
Guglielmo Fachini wrote:
> Salve a tutti, è da poco che mi sono interessato a questo fantastico
> linguaggio ed ora volevo utilizzarlo per creare un semplice script che
> mi dice se ho nuove mail sul mio account di posta gmail. Per iniziare ho
> cercato un po con google ed ho trovato questa guida
> http://ruby.html.it/guide/lezione/3681/gmail/ dove viene utilizzata la
> gems gmailer. Ho provato l'esempio ed  mi escono moltissimi warning fino
> ad arrivare ad un errore. Vi posto l'output completo:
> [code]
> /usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:60: warning:
> useless use of a variable in void context
> [...]

Per curiosità l'ho installata e dà gli stessi warning pure a me. Quel 
che è grave però è che mi dà pure lo stesso errore finale:

> /usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:1011:in `messages':
> undefined method `box' for nil:NilClass (NoMethodError)
>         from
> /usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:1008:in `each'
>         from
> /usr/lib/ruby/gems/1.8/gems/gmailer-0.2.1/gmailer.rb:1008:in `messages'
>         from gmail_check.rb:14
> [/code]
> Spero possiate aiutarmi.
> --Guglielmo

Ti consiglio di aprire un bug all'autore sul sito della gemma: 
http://rubyforge.org/tracker/?atid=3433&group_id=869&func=browse
Se c'è qualcuno in grado di eliminare warning ed errore quello è proprio 
lui.

Ciao
Paolo
Posted by Guglielmo Fachini (guly)
on 17.08.2008 11:22
Grazie per la'aiuto provedderò a segnalarlo all'autore.
Ciao
Guglielmo