Sha256: bf5d4e181c1ff6b09cf604d6ac0af088cbf9a5143e93516d42fb55b8f6424541
Contents?: true
Size: 1.17 KB
Versions: 2
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://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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
omniauth-gust-0.1.1 | lib/omniauth/strategies/gust.rb |
omniauth-gust-0.1.0 | lib/omniauth/strategies/gust.rb |