Class: Googol::GoogleAccount
- Inherits:
-
Object
- Object
- Googol::GoogleAccount
- Includes:
- Authenticable
- Defined in:
- lib/googol/google_account.rb
Overview
Provides read & write access to a Google (or Google+) account.
Class Method Summary collapse
-
.attribute(name) ⇒ Object
Define a method to return each attribute of the profile separately.
-
.oauth_scopes ⇒ Object
Set the scopes to grant access to Google user profile and email.
Instance Method Summary collapse
-
#email ⇒ Object
Return the email attribute of the Google Account.
-
#family_name ⇒ Object
Return the family_name attribute of the Google Account.
-
#gender ⇒ Object
Return the gender attribute of the Google Account.
-
#given_name ⇒ Object
Return the given_name attribute of the Google Account.
-
#hd ⇒ Object
Return the hd attribute of the Google Account.
-
#id ⇒ Object
Return the id attribute of the Google Account.
-
#info ⇒ Hash
Return the profile info of a Google account in OpenID Connect format.
-
#link ⇒ Object
Return the link attribute of the Google Account.
-
#locale ⇒ Object
Return the locale attribute of the Google Account.
-
#name ⇒ Object
Return the name attribute of the Google Account.
-
#picture ⇒ Object
Return the picture attribute of the Google Account.
-
#verified_email ⇒ Object
Return the verified_email attribute of the Google Account.
Methods included from Authenticable
Methods included from Requestable
Methods included from ClientTokens
#client_id, client_id=, #client_secret, client_secret=
Class Method Details
.attribute(name) ⇒ Object
Define a method to return each attribute of the profile separately.
51 52 53 |
# File 'lib/googol/google_account.rb', line 51 def self.attribute(name) define_method(name) { info[name] } end |
.oauth_scopes ⇒ Object
Set the scopes to grant access to Google user profile and email
70 71 72 |
# File 'lib/googol/google_account.rb', line 70 def self.oauth_scopes %w(profile email) end |
Instance Method Details
#email ⇒ Object
Return the email attribute of the Google Account.
56 |
# File 'lib/googol/google_account.rb', line 56 attribute :email |
#family_name ⇒ Object
Return the family_name attribute of the Google Account.
60 |
# File 'lib/googol/google_account.rb', line 60 attribute :family_name |
#gender ⇒ Object
Return the gender attribute of the Google Account.
63 |
# File 'lib/googol/google_account.rb', line 63 attribute :gender |
#given_name ⇒ Object
Return the given_name attribute of the Google Account.
59 |
# File 'lib/googol/google_account.rb', line 59 attribute :given_name |
#hd ⇒ Object
Return the hd attribute of the Google Account.
65 |
# File 'lib/googol/google_account.rb', line 65 attribute :hd |
#id ⇒ Object
Return the id attribute of the Google Account.
55 |
# File 'lib/googol/google_account.rb', line 55 attribute :id |
#info ⇒ Hash
Return the profile info of a Google account in OpenID Connect format.
37 38 39 40 41 42 43 |
# File 'lib/googol/google_account.rb', line 37 def info @info ||= request! method: :get, auth: credentials[:access_token], host: 'https://www.googleapis.com', path: '/oauth2/v2/userinfo', valid_if: -> response, body {response.code == '200'} end |
#link ⇒ Object
Return the link attribute of the Google Account.
61 |
# File 'lib/googol/google_account.rb', line 61 attribute :link |
#locale ⇒ Object
Return the locale attribute of the Google Account.
64 |
# File 'lib/googol/google_account.rb', line 64 attribute :locale |
#name ⇒ Object
Return the name attribute of the Google Account.
58 |
# File 'lib/googol/google_account.rb', line 58 attribute :name |
#picture ⇒ Object
Return the picture attribute of the Google Account.
62 |
# File 'lib/googol/google_account.rb', line 62 attribute :picture |
#verified_email ⇒ Object
Return the verified_email attribute of the Google Account.
57 |
# File 'lib/googol/google_account.rb', line 57 attribute :verified_email |