class Gmail::Client::XOAuth2

Attributes

token[R]

Public Class Methods

new(username, token) click to toggle source
Calls superclass method Gmail::Client::Base::new
# File lib/gmail/client/xoauth2.rb, line 8
def initialize(username, token)
  @token = token

  super(username, {})
end

Public Instance Methods

login(raise_errors = false) click to toggle source
# File lib/gmail/client/xoauth2.rb, line 14
def login(raise_errors = false)
  @imap and @logged_in = (login = @imap.authenticate('XOAUTH2', username, token)) && login.name == 'OK'
rescue Net::IMAP::NoResponseError => e
  if raise_errors
    message = "Couldn't login to given Gmail account: #{username}"
    message += " (#{e.response.data.text.strip})"
    raise(AuthorizationError.new(e.response), message, e.backtrace)
  end
end
smtp_settings() click to toggle source
# File lib/gmail/client/xoauth2.rb, line 24
def smtp_settings
  [:smtp, {
     :address => GMAIL_SMTP_HOST,
     :port => GMAIL_SMTP_PORT,
     :domain => mail_domain,
     :user_name => username,
     :password => token,
     :authentication => :xoauth2,
     :enable_starttls_auto => true
   }]
end