gmailer

hi all,
       i want to know how to use gmailer in rails

sudo apt-get install libopenssl-ruby
gem install GMailer

It also req. Python library
You can use as : foo = GMailer.connect("cpjolicoeur", "mypassword")
or
This is procedure :

require 'gmailer'

GMailer.connect(name,pwd) do |g|
  #fetch
  g.messages(:label=>"my_label") do |ml|
        puts "Total # of conversations of my_label = " + ml.total.to_s
  end

  #get contact
  g.fetch(:contact=>"freq").each do |item|
    puts "Name: #{item['name']} Email: #{item['email']}"
  end

  #send message
  # 'From' default gmail.com account
  g.send(
    :to => "w...@what.com, my_friend@his_company.com,
g...@heaven.org",
    :cc => "f...@bar.com",
    :subject => "Hello There!",
    :body => "Hi...\n\nBlah blah blah~~...",
    :files => ["./my_pic.jpg", "./my_cv.txt"])

  # multiple verified email addresses and choose one 'From:' email
address
  g.send(
    :from => "verif...@email.com",
    :to => "w...@what.com, my_friend@his_company.com,
g...@heaven.org",
    :cc => "f...@bar.com",
    :subject => "Hello There!",
    :body => "Hi...\n\nBlah blah blah~~...",
    :files => ["./my_pic.jpg", "./my_cv.txt"])

  # update_preference
  g.update_preference(:max_page_size=>50,
    :keyboard_shortcuts=>true,
    :indicators=>true,
    :display_language=>'en',
    :signature=>'This is a signature',
    :reply_to=>'ret...@foo.bar',
    :snippets=>true,
    :display_name=>'Display Name')

  # get preference
  pref = g.preference
  puts "Language:#{pref['display_language']}, Page
Size:#{pref['max_page_size']}"

  #creating new labels
  g.create_label('label_name')

  #renaming existing labels
  g.rename_label('label_name','renamed_label')

  #deleting labels
  g.delete_label('label_name')

  #applying a label to a message
  g.apply_label(msgid,'label_name')

  #removing a label from a message
  g.remove_label(msgid,'label_name')

  #apply star to a message
  g.apply_star(msgid)

  #remove star from a message
  g.remove_star(msgid)

  #archive a message
  g.archive(msgid)

  #unarchive a message
  g.unarchive(msgid)

  #mark a message as read
  g.mark_read(msgid)

  #mark a message as unread
  g.mark_unread(msgid)

  #report a message as not spam
  g.report_spam(msgid)

  #report a message as not spam
  g.report_not_spam(msgid)

  #move a message to trash
  g.trash(msgid)

  #move a message from trash to inbox
  g.untrash(msgid)

  #delete a trash message forever
  g.delete_trash(msgid)

  #delete a spam message forever
  g.delete_spam(msgid)

  #delete a message forever
  g.delete_message(msgid)

  #show original message
  g.show original(msgid)

  #get labels
  labels = g.labels

  #get messages
  g.messages(:label=>labels[0]).each {|m|
     puts "Subject: #{m.subject} / Snippet: #{m.snippet}"
  }

  #get inbox messages
  g.messages(:standard=>'inbox').each {|m|
     puts "Subject: #{m.subject} / Snippet: #{m.snippet}"
  }

  # fetch with filter :read or :star
  g.messages(:standard=>'all',:read=>false).each {|msg|
     # operations on the message
     msg.apply_star
     msg.apply_label(label)
     msg.trash

     puts "subject: " + msg.subject
     puts "from: " + msg.sender
     puts msg.body
     puts msg.original
  }

end

I have installed gmailer gem.but i got some error when i tried to
connect
my gmail account.i need to get the inbox messages from my gmail
account.but i can't.plzz help me.i got "You have a nil object when you
didn't expect it!
The error occurred while evaluating nil.connection= error".i got tis
eror when i used g.messages line in my code.my code is

require 'rubygems'
require 'gmailer'

class FirstController < ApplicationController

def index
   count=0
   puts "lllllllllll"
   if GMailer.connect('myaccountgmail.com', 'password')
   puts "CONNECTED"
   begin
   GMailer.connect('myaccount@gmail.com', 'password') do |g|
   puts "GGGGGGGG enter"
   puts g.inspect
   g.messages(:label => "inbox") do |ml|
       ml.each_msg do |conversation|
         Email.create!(
             :title => conversation.subject,
             :text => conversation.body,
             :sender => conversation.sender,
             :sender_email => conversation.sender_email,
             :reply_email => (conversation.reply_email.blank?) ?
conversation.sender_email : conversation.reply_email
         )
         count += 1
         puts conversation.archive
       end
      end
      end #connect
  rescue Exception => e
    puts e
  end
   end
   count
end