Sha256: 8b226ac3ce7a2f3cda59887a7f2753c542ed07f4878af33c9c1e0bdea2a0882d
Contents?: true
Size: 1.17 KB
Versions: 1
Compression:
Stored size: 1.17 KB
Contents
require 'omniauth-oauth2' module OmniAuth module Strategies class Gust < OmniAuth::Strategies::OAuth2 DEFAULT_SCOPE = 'read-write' option :name, "gust" option :client_options, { :site => 'https://alpha.gust.com', :authorize_url => '/r/oauth/authorize', :token_url => '/r/oauth/token' } uid { raw_info['id'] } info do prune!({ 'name' => raw_info["user_name"], 'email' => raw_info["email"], 'company_name' => raw_info['company_name'], 'urls' => { 'profile' => raw_info['profile_url'] } }) end extra do { 'raw_info' => raw_info } end def raw_info return @raw_info if @raw_info (access_token.options || {}).merge!({:header_format => 'OAuth %s'}) @raw_info = access_token.get('/r/oauth/user_details').parsed end private def prune!(hash) hash.delete_if do |_, value| prune!(value) if value.is_a?(Hash) value.nil? || (value.respond_to?(:empty?) && value.empty?) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
omniauth-gust-0.0.2 | lib/omniauth/strategies/gust.rb |