omniauth-angellist 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/omniauth/strategies/angellist.rb +28 -6
- data/lib/omniauth-angellist/version.rb +1 -1
- data/omniauth-angellist.gemspec +1 -2
- data/spec/omniauth/strategies/angellist_spec.rb +38 -5
- metadata +13 -42
    
        checksums.yaml
    ADDED
    
    | @@ -0,0 +1,7 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            SHA1:
         | 
| 3 | 
            +
              metadata.gz: 6d530ade385dc3df172a2f9a83e5ff72c7d46402
         | 
| 4 | 
            +
              data.tar.gz: 8ebce9e696ee72b5341176a953eed15635d1bdd3
         | 
| 5 | 
            +
            SHA512:
         | 
| 6 | 
            +
              metadata.gz: e3edfac6c3e87c3a691746ed0a8a010037981e748284f6d826d33e7686bd91f94211719c2b16aa98890ef62e71bed319fb3472b4a5e77159867b568ae728fd12
         | 
| 7 | 
            +
              data.tar.gz: 1a33d45dec6714fe2e2c8621b2a9883b3a2de32027dabde5ca8debcd041780be3751405a8df1f25b4207ae7ee6cd0f70f5c8fa46803489c1e60c54da8a649c78
         | 
| @@ -1,13 +1,21 @@ | |
| 1 | 
            -
            require 'omniauth | 
| 1 | 
            +
            require 'omniauth/strategies/oauth2'
         | 
| 2 2 |  | 
| 3 3 | 
             
            module OmniAuth
         | 
| 4 4 | 
             
              module Strategies
         | 
| 5 5 | 
             
                class AngelList < OmniAuth::Strategies::OAuth2
         | 
| 6 | 
            +
                  DEFAULT_SCOPE = 'email'
         | 
| 7 | 
            +
             | 
| 6 8 | 
             
                  option :client_options, {
         | 
| 7 9 | 
             
                    :site => 'https://angel.co/',
         | 
| 8 10 | 
             
                    :authorize_url => 'https://angel.co/api/oauth/authorize',
         | 
| 9 11 | 
             
                    :token_url => 'https://angel.co/api/oauth/token'
         | 
| 10 12 | 
             
                  }
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                  option :access_token_options, {
         | 
| 15 | 
            +
                    :mode => :qury,
         | 
| 16 | 
            +
                    :header_format => 'OAuth %s'
         | 
| 17 | 
            +
                  }
         | 
| 18 | 
            +
             | 
| 11 19 | 
             
                  option :provider_ignores_state, true
         | 
| 12 20 |  | 
| 13 21 | 
             
                  def request_phase
         | 
| @@ -27,18 +35,32 @@ module OmniAuth | |
| 27 35 | 
             
                      "facebook_url" => raw_info["facebook_url"],
         | 
| 28 36 | 
             
                      "linkedin_url" => raw_info["linkedin_url"],
         | 
| 29 37 | 
             
                      "follower_count" => raw_info["follower_count"],
         | 
| 30 | 
            -
                      " | 
| 31 | 
            -
                      "image" => raw_info["image"],
         | 
| 38 | 
            +
                      "investor" => raw_info["investor"],
         | 
| 32 39 | 
             
                      "locations" => raw_info["locations"],
         | 
| 33 | 
            -
                      "roles" => raw_info["roles"]
         | 
| 40 | 
            +
                      "roles" => raw_info["roles"],
         | 
| 41 | 
            +
                      "angellist_url" => raw_info["angellist_url"],
         | 
| 42 | 
            +
                      "image" => raw_info["image"]
         | 
| 34 43 | 
             
                    }
         | 
| 35 44 | 
             
                  end
         | 
| 36 45 |  | 
| 37 46 | 
             
                  def raw_info
         | 
| 38 | 
            -
                    access_token.options[:mode] = :query
         | 
| 39 | 
            -
                    (access_token.options || {}).merge!({:header_format => 'OAuth %s'})
         | 
| 40 47 | 
             
                    @raw_info ||= access_token.get('https://api.angel.co/1/me').parsed
         | 
| 41 48 | 
             
                  end
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                  def authorize_params
         | 
| 51 | 
            +
                    super.tap do |params|
         | 
| 52 | 
            +
                      %w[scope state].each do |v|
         | 
| 53 | 
            +
                        if request.params[v]
         | 
| 54 | 
            +
                          params[v.to_sym] = request.params[v]
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                          # to support omniauth-oauth2's auto csrf protection
         | 
| 57 | 
            +
                          session['omniauth.state'] = params[:state] if v == 'state'
         | 
| 58 | 
            +
                        end
         | 
| 59 | 
            +
                      end
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                      params[:scope] ||= DEFAULT_SCOPE
         | 
| 62 | 
            +
                    end
         | 
| 63 | 
            +
                  end
         | 
| 42 64 | 
             
                end
         | 
| 43 65 | 
             
              end
         | 
| 44 66 | 
             
            end
         | 
    
        data/omniauth-angellist.gemspec
    CHANGED
    
    | @@ -18,8 +18,7 @@ Gem::Specification.new do |s| | |
| 18 18 | 
             
              s.executables   = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
         | 
| 19 19 | 
             
              s.require_paths = ["lib"]
         | 
| 20 20 |  | 
| 21 | 
            -
              s. | 
| 22 | 
            -
              s.add_dependency 'omniauth-oauth2', '~> 1.1'
         | 
| 21 | 
            +
              s.add_runtime_dependency 'omniauth-oauth2', '~> 1.1'
         | 
| 23 22 | 
             
              s.add_development_dependency 'rspec', '~> 2.7'
         | 
| 24 23 | 
             
              s.add_development_dependency 'rack-test'
         | 
| 25 24 | 
             
              s.add_development_dependency 'simplecov'
         | 
| @@ -5,6 +5,8 @@ describe OmniAuth::Strategies::AngelList do | |
| 5 5 | 
             
              before :each do
         | 
| 6 6 | 
             
                @request = double('Request')
         | 
| 7 7 | 
             
                @request.stub(:params) { {} }
         | 
| 8 | 
            +
                @client_id = '123'
         | 
| 9 | 
            +
                @client_secret = 'afalsf'
         | 
| 8 10 | 
             
              end
         | 
| 9 11 |  | 
| 10 12 | 
             
              subject do
         | 
| @@ -34,8 +36,30 @@ describe OmniAuth::Strategies::AngelList do | |
| 34 36 | 
             
                before :each do
         | 
| 35 37 | 
             
                  @raw_info = {
         | 
| 36 38 | 
             
                    'name' => 'Sebastian Rabuini',
         | 
| 39 | 
            +
                    'email' => 'sebas@wasabit.com.ar',
         | 
| 37 40 | 
             
                    'bio' => 'Sebas',
         | 
| 38 | 
            -
                    ' | 
| 41 | 
            +
                    'blog_url' => 'sebas_blog',
         | 
| 42 | 
            +
                    'online_bio_url' => 'http://wasabitlabs.com',
         | 
| 43 | 
            +
                    'twitter_url' => 'http://twitter.com/#!/sebasr',
         | 
| 44 | 
            +
                    'facebook_url' => 'http://www.facebook.com/sebastian.rabuini',
         | 
| 45 | 
            +
                    'linkedin_url' => 'http://www.linkedin.com/in/srabuini',
         | 
| 46 | 
            +
                    'follower_count' => 6,
         | 
| 47 | 
            +
                    'investor' => false,
         | 
| 48 | 
            +
                    'locations' => [
         | 
| 49 | 
            +
                      {'id' => 1963, 'tag_type' => 'LocationTag', 'name' => 'buenos aires',
         | 
| 50 | 
            +
                        'display_name' => 'Buenos Aires',
         | 
| 51 | 
            +
                        'angellist_url' => 'https://angel.co/buenos-aires'}
         | 
| 52 | 
            +
                    ],
         | 
| 53 | 
            +
                    'roles' => [
         | 
| 54 | 
            +
                      {'id' => 14726, 'tag_type' => 'RoleTag', 'name' => 'developer',
         | 
| 55 | 
            +
                        'display_name' => 'Developer',
         | 
| 56 | 
            +
                        'angellist_url' => 'https://angel.co/developer'},
         | 
| 57 | 
            +
                      {'id' => 14725, 'tag_type' => 'RoleTag', 'name' => 'entrepreneur',
         | 
| 58 | 
            +
                        'display_name' => 'Entrepreneur',
         | 
| 59 | 
            +
                        'angellist_url' => 'https://angel.co/entrepreneur-1'}
         | 
| 60 | 
            +
                    ],
         | 
| 61 | 
            +
                    'angellist_url' => 'https://angel.co/sebasr',
         | 
| 62 | 
            +
                    'image' => 'https://s3.amazonaws.com/photos.angel.co/users/90585-medium_jpg?1327684569'
         | 
| 39 63 | 
             
                  }
         | 
| 40 64 | 
             
                  subject.stub(:raw_info) { @raw_info }
         | 
| 41 65 | 
             
                end
         | 
| @@ -50,15 +74,24 @@ describe OmniAuth::Strategies::AngelList do | |
| 50 74 | 
             
                  end
         | 
| 51 75 |  | 
| 52 76 | 
             
                  it 'returns the image' do
         | 
| 53 | 
            -
                    subject.info['image'].should eq(' | 
| 77 | 
            +
                    subject.info['image'].should eq(@raw_info['image'])
         | 
| 54 78 | 
             
                  end
         | 
| 55 79 |  | 
| 56 | 
            -
                  it " | 
| 57 | 
            -
                     | 
| 58 | 
            -
                    subject.info['email'].should be_nil
         | 
| 80 | 
            +
                  it "return the email" do
         | 
| 81 | 
            +
                    subject.info['email'].should eq('sebas@wasabit.com.ar')
         | 
| 59 82 | 
             
                  end
         | 
| 60 83 | 
             
                end
         | 
| 61 84 | 
             
              end
         | 
| 85 | 
            +
             | 
| 86 | 
            +
              describe '#authorize_params' do
         | 
| 87 | 
            +
                before :each do
         | 
| 88 | 
            +
                  subject.stub(:session => {})
         | 
| 89 | 
            +
                end
         | 
| 90 | 
            +
             | 
| 91 | 
            +
                it 'includes default scope for email' do
         | 
| 92 | 
            +
                  subject.authorize_params['scope'].should eq('email')
         | 
| 93 | 
            +
                end
         | 
| 94 | 
            +
              end
         | 
| 62 95 |  | 
| 63 96 | 
             
              describe '#credentials' do
         | 
| 64 97 | 
             
                before :each do
         | 
    
        metadata
    CHANGED
    
    | @@ -1,36 +1,18 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: omniauth-angellist
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 5 | 
            -
              prerelease: 
         | 
| 4 | 
            +
              version: 0.0.4
         | 
| 6 5 | 
             
            platform: ruby
         | 
| 7 6 | 
             
            authors:
         | 
| 8 7 | 
             
            - Sebastian Rabuini
         | 
| 9 8 | 
             
            autorequire: 
         | 
| 10 9 | 
             
            bindir: bin
         | 
| 11 10 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2013- | 
| 11 | 
            +
            date: 2013-06-23 00:00:00.000000000 Z
         | 
| 13 12 | 
             
            dependencies:
         | 
| 14 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 15 | 
            -
              name: omniauth
         | 
| 16 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 17 | 
            -
                none: false
         | 
| 18 | 
            -
                requirements:
         | 
| 19 | 
            -
                - - ~>
         | 
| 20 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 21 | 
            -
                    version: '1.0'
         | 
| 22 | 
            -
              type: :runtime
         | 
| 23 | 
            -
              prerelease: false
         | 
| 24 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 25 | 
            -
                none: false
         | 
| 26 | 
            -
                requirements:
         | 
| 27 | 
            -
                - - ~>
         | 
| 28 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 29 | 
            -
                    version: '1.0'
         | 
| 30 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 31 14 | 
             
              name: omniauth-oauth2
         | 
| 32 15 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 33 | 
            -
                none: false
         | 
| 34 16 | 
             
                requirements:
         | 
| 35 17 | 
             
                - - ~>
         | 
| 36 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -38,7 +20,6 @@ dependencies: | |
| 38 20 | 
             
              type: :runtime
         | 
| 39 21 | 
             
              prerelease: false
         | 
| 40 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 41 | 
            -
                none: false
         | 
| 42 23 | 
             
                requirements:
         | 
| 43 24 | 
             
                - - ~>
         | 
| 44 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -46,7 +27,6 @@ dependencies: | |
| 46 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 47 28 | 
             
              name: rspec
         | 
| 48 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 49 | 
            -
                none: false
         | 
| 50 30 | 
             
                requirements:
         | 
| 51 31 | 
             
                - - ~>
         | 
| 52 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -54,7 +34,6 @@ dependencies: | |
| 54 34 | 
             
              type: :development
         | 
| 55 35 | 
             
              prerelease: false
         | 
| 56 36 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 57 | 
            -
                none: false
         | 
| 58 37 | 
             
                requirements:
         | 
| 59 38 | 
             
                - - ~>
         | 
| 60 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -62,49 +41,43 @@ dependencies: | |
| 62 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 63 42 | 
             
              name: rack-test
         | 
| 64 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 65 | 
            -
                none: false
         | 
| 66 44 | 
             
                requirements:
         | 
| 67 | 
            -
                - -  | 
| 45 | 
            +
                - - '>='
         | 
| 68 46 | 
             
                  - !ruby/object:Gem::Version
         | 
| 69 47 | 
             
                    version: '0'
         | 
| 70 48 | 
             
              type: :development
         | 
| 71 49 | 
             
              prerelease: false
         | 
| 72 50 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 73 | 
            -
                none: false
         | 
| 74 51 | 
             
                requirements:
         | 
| 75 | 
            -
                - -  | 
| 52 | 
            +
                - - '>='
         | 
| 76 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 77 54 | 
             
                    version: '0'
         | 
| 78 55 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 79 56 | 
             
              name: simplecov
         | 
| 80 57 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 81 | 
            -
                none: false
         | 
| 82 58 | 
             
                requirements:
         | 
| 83 | 
            -
                - -  | 
| 59 | 
            +
                - - '>='
         | 
| 84 60 | 
             
                  - !ruby/object:Gem::Version
         | 
| 85 61 | 
             
                    version: '0'
         | 
| 86 62 | 
             
              type: :development
         | 
| 87 63 | 
             
              prerelease: false
         | 
| 88 64 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 89 | 
            -
                none: false
         | 
| 90 65 | 
             
                requirements:
         | 
| 91 | 
            -
                - -  | 
| 66 | 
            +
                - - '>='
         | 
| 92 67 | 
             
                  - !ruby/object:Gem::Version
         | 
| 93 68 | 
             
                    version: '0'
         | 
| 94 69 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 95 70 | 
             
              name: webmock
         | 
| 96 71 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 97 | 
            -
                none: false
         | 
| 98 72 | 
             
                requirements:
         | 
| 99 | 
            -
                - -  | 
| 73 | 
            +
                - - '>='
         | 
| 100 74 | 
             
                  - !ruby/object:Gem::Version
         | 
| 101 75 | 
             
                    version: '0'
         | 
| 102 76 | 
             
              type: :development
         | 
| 103 77 | 
             
              prerelease: false
         | 
| 104 78 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 105 | 
            -
                none: false
         | 
| 106 79 | 
             
                requirements:
         | 
| 107 | 
            -
                - -  | 
| 80 | 
            +
                - - '>='
         | 
| 108 81 | 
             
                  - !ruby/object:Gem::Version
         | 
| 109 82 | 
             
                    version: '0'
         | 
| 110 83 | 
             
            description: AngelList OAuth strategy for OmniAuth
         | 
| @@ -127,30 +100,28 @@ files: | |
| 127 100 | 
             
            - spec/support/shared_examples.rb
         | 
| 128 101 | 
             
            homepage: https://github.com/wasabit/omniauth-angellist
         | 
| 129 102 | 
             
            licenses: []
         | 
| 103 | 
            +
            metadata: {}
         | 
| 130 104 | 
             
            post_install_message: 
         | 
| 131 105 | 
             
            rdoc_options: []
         | 
| 132 106 | 
             
            require_paths:
         | 
| 133 107 | 
             
            - lib
         | 
| 134 108 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 135 | 
            -
              none: false
         | 
| 136 109 | 
             
              requirements:
         | 
| 137 | 
            -
              - -  | 
| 110 | 
            +
              - - '>='
         | 
| 138 111 | 
             
                - !ruby/object:Gem::Version
         | 
| 139 112 | 
             
                  version: '0'
         | 
| 140 113 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 141 | 
            -
              none: false
         | 
| 142 114 | 
             
              requirements:
         | 
| 143 | 
            -
              - -  | 
| 115 | 
            +
              - - '>='
         | 
| 144 116 | 
             
                - !ruby/object:Gem::Version
         | 
| 145 117 | 
             
                  version: '0'
         | 
| 146 118 | 
             
            requirements: []
         | 
| 147 119 | 
             
            rubyforge_project: omniauth-angellist
         | 
| 148 | 
            -
            rubygems_version:  | 
| 120 | 
            +
            rubygems_version: 2.0.3
         | 
| 149 121 | 
             
            signing_key: 
         | 
| 150 | 
            -
            specification_version:  | 
| 122 | 
            +
            specification_version: 4
         | 
| 151 123 | 
             
            summary: AngelList OAuth strategy for OmniAuth
         | 
| 152 124 | 
             
            test_files:
         | 
| 153 125 | 
             
            - spec/omniauth/strategies/angellist_spec.rb
         | 
| 154 126 | 
             
            - spec/spec_helper.rb
         | 
| 155 127 | 
             
            - spec/support/shared_examples.rb
         | 
| 156 | 
            -
            has_rdoc: 
         |