Sha256: 091a0d5dd8cbd748703f10c3ac499c5c980a636259ae8b9e6c6815772ca6ff60
Contents?: true
Size: 1.5 KB
Versions: 3
Compression:
Stored size: 1.5 KB
Contents
require 'gmail_xoauth' module Gmail module Client class XOAuth < Base attr_reader :token attr_reader :secret attr_reader :consumer_key attr_reader :consumer_secret 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 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 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 end # XOAuth register :xoauth, XOAuth end # Client end # Gmail
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
gmail_gm_raw-0.4.4 | lib/gmail/client/xoauth.rb |
gmail_gm_raw-0.4.3 | lib/gmail/client/xoauth.rb |
gmail-afurmanov-0.1.0 | lib/gmail/client/xoauth.rb |