Sha256: edb5d398b6fd18a7c96d01f4f9c5839752cdfffada73565a4e6bf79586530e23

Contents?: true

Size: 777 Bytes

Versions: 3

Compression:

Stored size: 777 Bytes

Contents

require 'omniauth-oauth'
require 'multi_json'

module OmniAuth
  module Strategies
    class Discogs < OmniAuth::Strategies::OAuth

      option :name, 'discogs'

      option :client_options, {
        :site => 'https://api.discogs.com/',
        :request_token_path => '/oauth/request_token',
        :access_token_path => '/oauth/access_token',
        :authorize_url => 'https://www.discogs.com/oauth/authorize',
      }

      uid { raw_info['id'] }

      info do
        {
          'username' => raw_info['username'],
          'picture' => raw_info['picture']
        }
      end

      extra do
        {:user_info => raw_info}
      end

      def raw_info
        @raw_info ||= MultiJson.decode(access_token.get("/oauth/identity").body)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
omniauth-discogs-0.0.5 lib/omniauth/strategies/discogs.rb
omniauth-discogs-0.0.4 lib/omniauth/strategies/discogs.rb
omniauth-discogs-0.0.3 lib/omniauth/strategies/discogs.rb