class Gmail::Client::XOAuth

Attributes

consumer_key[R]
consumer_secret[R]
secret[R]
token[R]

Public Class Methods

new(username, options={}) click to toggle source
Calls superclass method Gmail::Client::Base::new
# File lib/gmail/client/xoauth.rb, line 11
def initialize(username, options={})
  @token           = options.delete(:token)
  @secret          = options.delete(:secret)
  @consumer_key    = options.delete(:consumer_key)
  @consumer_secret = options.delete(:consumer_secret)
 
  super(username, options)
end

Public Instance Methods

login(raise_errors=false) click to toggle source
# File lib/gmail/client/xoauth.rb, line 20
def login(raise_errors=false)
  @imap and @logged_in = (login = @imap.authenticate('XOAUTH', username,
    :consumer_key    => consumer_key,
    :consumer_secret => consumer_secret,
    :token           => token,
    :token_secret    => secret
  )) && login.name == 'OK'
rescue
  raise_errors and raise AuthorizationError, "Couldn't login to given GMail account: #{username}"        
end
smtp_settings() click to toggle source
# File lib/gmail/client/xoauth.rb, line 31
def smtp_settings
  [:smtp, {
     :address => GMAIL_SMTP_HOST,
     :port => GMAIL_SMTP_PORT,
     :domain => mail_domain,
     :user_name => username,
     :password => {
       :consumer_key    => consumer_key,
       :consumer_secret => consumer_secret,
       :token           => token,
       :token_secret    => secret
     },
     :authentication => :xoauth,
     :enable_starttls_auto => true
   }]
end