oauth2-aptible 0.9.5 → 0.10.0
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 +4 -4
 - data/lib/oauth2/access_token.rb +14 -4
 - data/lib/oauth2/version.rb +2 -2
 - data/spec/oauth2/access_token_spec.rb +32 -3
 - data/spec/oauth2/strategy/auth_code_spec.rb +1 -1
 - metadata +3 -3
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: c846a8652ef877ec30ecf1c39d791dafa4426ee8
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 60ad59f81d91f0940029ecf6b4b0ab96989af3cf
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 613be9e21be059631092e7a8da50399243a67ab35563cb0948abfb4e15ea9f0d4d0bb4cf9aebafccb41177366a4236759592c87aa16c05370360f1914a5b2dac
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 0a595db7f64a61c2a5090ab445ca4fc21bac691ea54e4b783ae13beaa99ccd95a1621f4eb8d3dcea33f003f462d1f00361ef23721fc40719a7c2af68d1cef2f0
         
     | 
    
        data/lib/oauth2/access_token.rb
    CHANGED
    
    | 
         @@ -1,3 +1,5 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'time'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            module OAuth2
         
     | 
| 
       2 
4 
     | 
    
         
             
              class AccessToken
         
     | 
| 
       3 
5 
     | 
    
         
             
                attr_reader :client, :token, :expires_in, :expires_at, :params
         
     | 
| 
         @@ -30,7 +32,7 @@ module OAuth2 
     | 
|
| 
       30 
32 
     | 
    
         
             
                # @param [Hash] opts the options to create the Access Token with
         
     | 
| 
       31 
33 
     | 
    
         
             
                # @option opts [String] :refresh_token (nil) the refresh_token value
         
     | 
| 
       32 
34 
     | 
    
         
             
                # @option opts [FixNum, String] :expires_in (nil) the number of seconds in which the AccessToken will expire
         
     | 
| 
       33 
     | 
    
         
            -
                # @option opts [FixNum, String] :expires_at (nil) the epoch time in seconds  
     | 
| 
      
 35 
     | 
    
         
            +
                # @option opts [FixNum, String] :expires_at (nil) the time (epoch time in seconds or iso8601-formatted date) when the token will expire
         
     | 
| 
       34 
36 
     | 
    
         
             
                # @option opts [Symbol] :mode (:header) the transmission mode of the Access Token parameter value
         
     | 
| 
       35 
37 
     | 
    
         
             
                #    one of :header, :body or :query
         
     | 
| 
       36 
38 
     | 
    
         
             
                # @option opts [String] :header_format ('Bearer %s') the string format to use for the Authorization header
         
     | 
| 
         @@ -44,8 +46,16 @@ module OAuth2 
     | 
|
| 
       44 
46 
     | 
    
         
             
                  end
         
     | 
| 
       45 
47 
     | 
    
         
             
                  @expires_in ||= opts.delete('expires')
         
     | 
| 
       46 
48 
     | 
    
         
             
                  @expires_in &&= @expires_in.to_i
         
     | 
| 
       47 
     | 
    
         
            -
                  @expires_at &&=  
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
      
 49 
     | 
    
         
            +
                  @expires_at &&= begin
         
     | 
| 
      
 50 
     | 
    
         
            +
                                    Time.iso8601(@expires_at)
         
     | 
| 
      
 51 
     | 
    
         
            +
                                  rescue ArgumentError, TypeError
         
     | 
| 
      
 52 
     | 
    
         
            +
                                    begin
         
     | 
| 
      
 53 
     | 
    
         
            +
                                      Time.at(Integer(@expires_at))
         
     | 
| 
      
 54 
     | 
    
         
            +
                                    rescue ArgumentError
         
     | 
| 
      
 55 
     | 
    
         
            +
                                      nil
         
     | 
| 
      
 56 
     | 
    
         
            +
                                    end
         
     | 
| 
      
 57 
     | 
    
         
            +
                                  end unless @expires_at.is_a?(Time)
         
     | 
| 
      
 58 
     | 
    
         
            +
                  @expires_at ||= Time.at(Time.now.to_i + @expires_in) if @expires_in
         
     | 
| 
       49 
59 
     | 
    
         
             
                  @options = {:mode          => opts.delete(:mode) || :header,
         
     | 
| 
       50 
60 
     | 
    
         
             
                              :header_format => opts.delete(:header_format) || 'Bearer %s',
         
     | 
| 
       51 
61 
     | 
    
         
             
                              :param_name    => opts.delete(:param_name) || 'access_token'}
         
     | 
| 
         @@ -70,7 +80,7 @@ module OAuth2 
     | 
|
| 
       70 
80 
     | 
    
         
             
                #
         
     | 
| 
       71 
81 
     | 
    
         
             
                # @return [Boolean]
         
     | 
| 
       72 
82 
     | 
    
         
             
                def expired?
         
     | 
| 
       73 
     | 
    
         
            -
                  expires? && (expires_at < Time.now 
     | 
| 
      
 83 
     | 
    
         
            +
                  expires? && (expires_at < Time.now)
         
     | 
| 
       74 
84 
     | 
    
         
             
                end
         
     | 
| 
       75 
85 
     | 
    
         | 
| 
       76 
86 
     | 
    
         
             
                # Refreshes the current Access Token
         
     | 
    
        data/lib/oauth2/version.rb
    CHANGED
    
    
| 
         @@ -60,11 +60,35 @@ describe AccessToken do 
     | 
|
| 
       60 
60 
     | 
    
         
             
                  expect(target.options[:mode]).to eq(:body)
         
     | 
| 
       61 
61 
     | 
    
         
             
                end
         
     | 
| 
       62 
62 
     | 
    
         | 
| 
       63 
     | 
    
         
            -
                it 'initializes with a string expires_at' do
         
     | 
| 
      
 63 
     | 
    
         
            +
                it 'initializes with a string expires_at epoch' do
         
     | 
| 
       64 
64 
     | 
    
         
             
                  hash = {:access_token => token, :expires_at => '1361396829', 'foo' => 'bar'}
         
     | 
| 
       65 
65 
     | 
    
         
             
                  target = AccessToken.from_hash(client, hash)
         
     | 
| 
       66 
66 
     | 
    
         
             
                  assert_initialized_token(target)
         
     | 
| 
       67 
     | 
    
         
            -
                  expect(target.expires_at).to be_a( 
     | 
| 
      
 67 
     | 
    
         
            +
                  expect(target.expires_at).to be_a(Time)
         
     | 
| 
      
 68 
     | 
    
         
            +
                  expect(target.expires_at.to_i).to eq(1361396829)
         
     | 
| 
      
 69 
     | 
    
         
            +
                end
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
                it 'initializes with a string expires_at time' do
         
     | 
| 
      
 72 
     | 
    
         
            +
                  hash = {:access_token => token, :expires_at => '2016-05-06T17:37:59.128Z', 'foo' => 'bar'}
         
     | 
| 
      
 73 
     | 
    
         
            +
                  target = AccessToken.from_hash(client, hash)
         
     | 
| 
      
 74 
     | 
    
         
            +
                  assert_initialized_token(target)
         
     | 
| 
      
 75 
     | 
    
         
            +
                  expect(target.expires_at).to be_a(Time)
         
     | 
| 
      
 76 
     | 
    
         
            +
                  expect(target.expires_at.to_i).to eq(1462556279)
         
     | 
| 
      
 77 
     | 
    
         
            +
                end
         
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
                it 'sets a Time for expires_at via expires_in' do
         
     | 
| 
      
 80 
     | 
    
         
            +
                  hash = {:access_token => token, :expires_in => '100', 'foo' => 'bar'}
         
     | 
| 
      
 81 
     | 
    
         
            +
                  target = AccessToken.from_hash(client, hash)
         
     | 
| 
      
 82 
     | 
    
         
            +
                  assert_initialized_token(target)
         
     | 
| 
      
 83 
     | 
    
         
            +
                  expect(target.expires_at).to be_a(Time)
         
     | 
| 
      
 84 
     | 
    
         
            +
                end
         
     | 
| 
      
 85 
     | 
    
         
            +
             
     | 
| 
      
 86 
     | 
    
         
            +
                it 'passes through a Time for expires_at' do
         
     | 
| 
      
 87 
     | 
    
         
            +
                  t = Time.now
         
     | 
| 
      
 88 
     | 
    
         
            +
                  hash = {:access_token => token, :expires_at => t, 'foo' => 'bar'}
         
     | 
| 
      
 89 
     | 
    
         
            +
                  target = AccessToken.from_hash(client, hash)
         
     | 
| 
      
 90 
     | 
    
         
            +
                  assert_initialized_token(target)
         
     | 
| 
      
 91 
     | 
    
         
            +
                  expect(target.expires_at).to eq(t)
         
     | 
| 
       68 
92 
     | 
    
         
             
                end
         
     | 
| 
       69 
93 
     | 
    
         
             
              end
         
     | 
| 
       70 
94 
     | 
    
         | 
| 
         @@ -164,7 +188,12 @@ describe AccessToken do 
     | 
|
| 
       164 
188 
     | 
    
         | 
| 
       165 
189 
     | 
    
         
             
              describe '#to_hash' do
         
     | 
| 
       166 
190 
     | 
    
         
             
                it 'return a hash equals to the hash used to initialize access token' do
         
     | 
| 
       167 
     | 
    
         
            -
                   
     | 
| 
      
 191 
     | 
    
         
            +
                  t = Time.now + 200
         
     | 
| 
      
 192 
     | 
    
         
            +
                  hash = { :access_token => token,
         
     | 
| 
      
 193 
     | 
    
         
            +
                           :refresh_token => 'foobar',
         
     | 
| 
      
 194 
     | 
    
         
            +
                           :expires_at => t,
         
     | 
| 
      
 195 
     | 
    
         
            +
                           'foo' => 'bar'
         
     | 
| 
      
 196 
     | 
    
         
            +
                  }
         
     | 
| 
       168 
197 
     | 
    
         
             
                  access_token = AccessToken.from_hash(client, hash.clone)
         
     | 
| 
       169 
198 
     | 
    
         
             
                  expect(access_token.to_hash).to eq(hash)
         
     | 
| 
       170 
199 
     | 
    
         
             
                end
         
     | 
| 
         @@ -76,7 +76,7 @@ describe OAuth2::Strategy::AuthCode do 
     | 
|
| 
       76 
76 
     | 
    
         
             
                    end
         
     | 
| 
       77 
77 
     | 
    
         | 
| 
       78 
78 
     | 
    
         
             
                    it 'returns AccessToken with #expires_at' do
         
     | 
| 
       79 
     | 
    
         
            -
                      expect(@access.expires_at).to be_kind_of( 
     | 
| 
      
 79 
     | 
    
         
            +
                      expect(@access.expires_at).to be_kind_of(Time)
         
     | 
| 
       80 
80 
     | 
    
         
             
                    end
         
     | 
| 
       81 
81 
     | 
    
         | 
| 
       82 
82 
     | 
    
         
             
                    it 'returns AccessToken with params accessible via []' do
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: oauth2-aptible
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.10.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Frank Macreery
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2016- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2016-06-21 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: bundler
         
     | 
| 
         @@ -158,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       158 
158 
     | 
    
         
             
                  version: 1.3.5
         
     | 
| 
       159 
159 
     | 
    
         
             
            requirements: []
         
     | 
| 
       160 
160 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       161 
     | 
    
         
            -
            rubygems_version: 2.4 
     | 
| 
      
 161 
     | 
    
         
            +
            rubygems_version: 2.6.4
         
     | 
| 
       162 
162 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       163 
163 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       164 
164 
     | 
    
         
             
            summary: A Ruby wrapper for the OAuth 2.0 protocol.
         
     |