# File lib/omniauth/strategies/github_organization.rb, line 65 def primary_email primary = emails.find { |i| i['primary'] && i['verified'] } primary && primary['email'] || nil end
class OmniAuth::Strategies::GitHubOrganization
Public Instance Methods
callback_url()
click to toggle source
# File lib/omniauth/strategies/github_organization.rb, line 84 def callback_url full_host + script_name + callback_path end
email()
click to toggle source
# File lib/omniauth/strategies/github_organization.rb, line 61 def email email_access_allowed? ? primary_email : raw_info['email'] end
email_access_allowed?()
click to toggle source
# File lib/omniauth/strategies/github_organization.rb, line 77 def email_access_allowed? return false unless options['scope'] email_scopes = %w[user user:email] scopes = options['scope'].split(',') (scopes & email_scopes).any? end
emails()
click to toggle source
The new /user/emails API - developer.github.com/v3/users/emails/#future-response
# File lib/omniauth/strategies/github_organization.rb, line 71 def emails return [] unless email_access_allowed? access_token.options[:mode] = :query @emails ||= access_token.get('user/emails', headers: { 'Accept' => 'application/vnd.github.v3' }).parsed end
organizations()
click to toggle source
# File lib/omniauth/strategies/github_organization.rb, line 30 def organizations access_token.options[:mode] = :query organizations = access_token .get('user/orgs', headers: { 'Accept' => 'application/vnd.github.v3' }) .parsed.map { |x| x['login'] } end
primary_email()
click to toggle source
raw_info()
click to toggle source
# File lib/omniauth/strategies/github_organization.rb, line 56 def raw_info access_token.options[:mode] = :query @raw_info ||= access_token.get('user').parsed end
request_phase()
click to toggle source
Calls superclass method
# File lib/omniauth/strategies/github_organization.rb, line 16 def request_phase super end