Class: OmniContacts::Importer::Gmail

Inherits:
Middleware::OAuth2 show all
Defined in:
lib/omnicontacts/importer/gmail.rb

Constant Summary

Constants included from HTTPUtils

HTTPUtils::SSL_PORT

Instance Attribute Summary collapse

Attributes inherited from Middleware::OAuth2

#client_id, #client_secret, #redirect_path

Attributes inherited from Middleware::BaseOAuth

#ssl_ca_file

Instance Method Summary collapse

Methods inherited from Middleware::OAuth2

#fetch_contacts, #redirect_uri, #refresh_token_prop_name, #request_authorization_from_user

Methods included from Authorization::OAuth2

#authorization_url, #fetch_access_token, #refresh_access_token

Methods included from HTTPUtils

encode, host_url_from_rack_env, query_string_to_map, scheme, to_query_string

Methods inherited from Middleware::BaseOAuth

#call, #class_name

Constructor Details

#initialize(*args) ⇒ Gmail

Returns a new instance of Gmail.



10
11
12
13
14
15
16
17
18
# File 'lib/omnicontacts/importer/gmail.rb', line 10

def initialize *args
  super *args
  @auth_host = "accounts.google.com"
  @authorize_path = "/o/oauth2/auth"
  @auth_token_path = "/o/oauth2/token"
  @scope = "https://www.google.com/m8/feeds"
  @contacts_host = "www.google.com"
  @contacts_path = "/m8/feeds/contacts/default/full"
end

Instance Attribute Details

#auth_hostObject (readonly)

Returns the value of attribute auth_host.



8
9
10
# File 'lib/omnicontacts/importer/gmail.rb', line 8

def auth_host
  @auth_host
end

#auth_token_pathObject (readonly)

Returns the value of attribute auth_token_path.



8
9
10
# File 'lib/omnicontacts/importer/gmail.rb', line 8

def auth_token_path
  @auth_token_path
end

#authorize_pathObject (readonly)

Returns the value of attribute authorize_path.



8
9
10
# File 'lib/omnicontacts/importer/gmail.rb', line 8

def authorize_path
  @authorize_path
end

#scopeObject (readonly)

Returns the value of attribute scope.



8
9
10
# File 'lib/omnicontacts/importer/gmail.rb', line 8

def scope
  @scope
end

Instance Method Details

#fetch_contacts_using_access_token(access_token, token_type) ⇒ Object



20
21
22
23
# File 'lib/omnicontacts/importer/gmail.rb', line 20

def fetch_contacts_using_access_token access_token, token_type
  contacts_response = https_get(@contacts_host, @contacts_path, contacts_req_params, contacts_req_headers(access_token, token_type))
  parse_contacts contacts_response
end