restful_resource 2.2.8 → 2.3.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
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 | 
            -
             | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 2 | 
            +
            SHA256:
         | 
| 3 | 
            +
              metadata.gz: eecf67a6ba417dae5f868966a577a527eaf35560ddf9ec17af5aa7070e9935bb
         | 
| 4 | 
            +
              data.tar.gz: 4ddd23ce149cd8f4f9db30af2cdef923654771608108ed44ff8891199bb1643c
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 6893e6298085c0e14e28f5d08ca7ab9144eafea210d18eabeb865df3dfa9b670af1a9f0052db5a0c2ad84ed6f6b9061cb0e101b7724514385e9b14509ab138e4
         | 
| 7 | 
            +
              data.tar.gz: 0f2c0c895a4ae9a77d17b6816a15cbd0cd17f0bdbb6e46417aebfd471f1c2e33e0f3c8c997016e7bb2213d25058c6b9525106bd870145a5e8efee0da15325d9a
         | 
    
        data/Rakefile
    CHANGED
    
    | @@ -9,12 +9,12 @@ desc "Upload to rubygems" | |
| 9 9 | 
             
            task :upload => :build do
         | 
| 10 10 | 
             
              # Check if tag with v#{ResearchSiteApiClient::VERSION} version exists, if so, return with error
         | 
| 11 11 |  | 
| 12 | 
            -
              if tag_exists?(current_tag_name)
         | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
              end
         | 
| 12 | 
            +
              # if tag_exists?(current_tag_name)
         | 
| 13 | 
            +
              #   puts "Tag exists, did you run rake increase_revision_number after merging with master?"
         | 
| 14 | 
            +
              #   exit 1
         | 
| 15 | 
            +
              # end
         | 
| 16 16 |  | 
| 17 | 
            -
              create_tag(current_tag_name)
         | 
| 17 | 
            +
              # create_tag(current_tag_name)
         | 
| 18 18 | 
             
              Rake::Task[:release].invoke
         | 
| 19 19 | 
             
            end
         | 
| 20 20 |  | 
| @@ -5,6 +5,7 @@ module RestfulResource | |
| 5 5 | 
             
                def self.configure(base_url: nil,
         | 
| 6 6 | 
             
                                   username: nil,
         | 
| 7 7 | 
             
                                   password: nil,
         | 
| 8 | 
            +
                                   auth_token: nil,
         | 
| 8 9 | 
             
                                   logger: nil,
         | 
| 9 10 | 
             
                                   cache_store: nil,
         | 
| 10 11 | 
             
                                   instrumentation: {},
         | 
| @@ -14,6 +15,7 @@ module RestfulResource | |
| 14 15 |  | 
| 15 16 | 
             
                  @http = RestfulResource::HttpClient.new(username: username,
         | 
| 16 17 | 
             
                                                          password: password,
         | 
| 18 | 
            +
                                                          auth_token: auth_token,
         | 
| 17 19 | 
             
                                                          logger: logger,
         | 
| 18 20 | 
             
                                                          cache_store: cache_store,
         | 
| 19 21 | 
             
                                                          instrumentation: instrumentation,
         | 
| @@ -70,6 +70,7 @@ module RestfulResource | |
| 70 70 |  | 
| 71 71 | 
             
                def initialize(username: nil,
         | 
| 72 72 | 
             
                               password: nil,
         | 
| 73 | 
            +
                               auth_token: nil,
         | 
| 73 74 | 
             
                               logger: nil,
         | 
| 74 75 | 
             
                               cache_store: nil,
         | 
| 75 76 | 
             
                               connection: nil,
         | 
| @@ -101,7 +102,12 @@ module RestfulResource | |
| 101 102 | 
             
                                                                    server_cache_instrument_name: instrumentation.fetch(:server_cache_instrument_name, nil),
         | 
| 102 103 | 
             
                                                                    faraday_config: faraday_config)
         | 
| 103 104 |  | 
| 104 | 
            -
                   | 
| 105 | 
            +
                  if auth_token
         | 
| 106 | 
            +
                    @connection.headers[:authorization] = "Bearer #{auth_token}"
         | 
| 107 | 
            +
                  elsif username && password
         | 
| 108 | 
            +
                    @connection.basic_auth(username, password)
         | 
| 109 | 
            +
                  end
         | 
| 110 | 
            +
             | 
| 105 111 | 
             
                  @connection.headers[:user_agent] = build_user_agent(instrumentation[:app_name])
         | 
| 106 112 | 
             
                  @default_open_timeout = open_timeout
         | 
| 107 113 | 
             
                  @default_timeout = timeout
         | 
| @@ -313,6 +313,7 @@ RSpec.describe RestfulResource::Base do | |
| 313 313 | 
             
              describe ".configure" do
         | 
| 314 314 | 
             
                 let(:username) { double }
         | 
| 315 315 | 
             
                 let(:password) { double }
         | 
| 316 | 
            +
                 let(:auth_token) { double }
         | 
| 316 317 | 
             
                 let(:logger) { double }
         | 
| 317 318 | 
             
                 let(:cache_store) { double }
         | 
| 318 319 | 
             
                 let(:instrumentation) { double }
         | 
| @@ -321,6 +322,7 @@ RSpec.describe RestfulResource::Base do | |
| 321 322 | 
             
                it "passes arguments to HttpClient" do
         | 
| 322 323 | 
             
                  expect(RestfulResource::HttpClient).to receive(:new).with(username: username,
         | 
| 323 324 | 
             
                                                                            password: password,
         | 
| 325 | 
            +
                                                                            auth_token: auth_token,
         | 
| 324 326 | 
             
                                                                            logger: logger,
         | 
| 325 327 | 
             
                                                                            cache_store: cache_store,
         | 
| 326 328 | 
             
                                                                            instrumentation: instrumentation,
         | 
| @@ -329,6 +331,7 @@ RSpec.describe RestfulResource::Base do | |
| 329 331 | 
             
                  RestfulResource::Base.configure(base_url: 'http://foo.bar',
         | 
| 330 332 | 
             
                                                  username: username,
         | 
| 331 333 | 
             
                                                  password: password,
         | 
| 334 | 
            +
                                                  auth_token: auth_token,
         | 
| 332 335 | 
             
                                                  logger: logger,
         | 
| 333 336 | 
             
                                                  cache_store: cache_store,
         | 
| 334 337 | 
             
                                                  instrumentation: instrumentation,
         | 
| @@ -169,18 +169,36 @@ RSpec.describe RestfulResource::HttpClient do | |
| 169 169 | 
             
              end
         | 
| 170 170 |  | 
| 171 171 | 
             
              describe 'Authentication' do
         | 
| 172 | 
            -
                 | 
| 173 | 
            -
                   | 
| 172 | 
            +
                describe 'Basic auth' do
         | 
| 173 | 
            +
                  def http_client(connection)
         | 
| 174 | 
            +
                    described_class.new(connection: connection, username: 'user', password: 'passwd')
         | 
| 175 | 
            +
                  end
         | 
| 176 | 
            +
             | 
| 177 | 
            +
                  it 'should execute authenticated get' do
         | 
| 178 | 
            +
                    connection = faraday_connection do |stubs|
         | 
| 179 | 
            +
                      stubs.get('http://httpbin.org/basic-auth/user/passwd') { |env| [200, {}, nil] }
         | 
| 180 | 
            +
                    end
         | 
| 181 | 
            +
             | 
| 182 | 
            +
                    response = http_client(connection).get('http://httpbin.org/basic-auth/user/passwd', headers: {"Authorization"=>"Basic dXNlcjpwYXNzd2Q="})
         | 
| 183 | 
            +
             | 
| 184 | 
            +
                    expect(response.status).to eq 200
         | 
| 185 | 
            +
                  end
         | 
| 174 186 | 
             
                end
         | 
| 175 187 |  | 
| 176 | 
            -
                 | 
| 177 | 
            -
                  connection | 
| 178 | 
            -
                     | 
| 188 | 
            +
                describe 'Token auth' do
         | 
| 189 | 
            +
                  def http_client(connection)
         | 
| 190 | 
            +
                    described_class.new(connection: connection, auth_token: 'abc123')
         | 
| 179 191 | 
             
                  end
         | 
| 180 192 |  | 
| 181 | 
            -
                   | 
| 193 | 
            +
                  it 'should execute authenticated get' do
         | 
| 194 | 
            +
                    connection = faraday_connection do |stubs|
         | 
| 195 | 
            +
                      stubs.get('http://httpbin.org/bearer', { 'Authorization' => 'Bearer abc123'} ) { |env| [200, {}, nil] }
         | 
| 196 | 
            +
                    end
         | 
| 182 197 |  | 
| 183 | 
            -
             | 
| 198 | 
            +
                    response = http_client(connection).get('http://httpbin.org/bearer', headers: { 'Authorization' => 'Bearer abc123'})
         | 
| 199 | 
            +
             | 
| 200 | 
            +
                    expect(response.status).to eq 200
         | 
| 201 | 
            +
                  end
         | 
| 184 202 | 
             
                end
         | 
| 185 203 | 
             
              end
         | 
| 186 204 |  | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: restful_resource
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2. | 
| 4 | 
            +
              version: 2.3.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - David Santoro
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2018- | 
| 12 | 
            +
            date: 2018-09-07 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: bundler
         | 
| @@ -258,7 +258,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 258 258 | 
             
                  version: '0'
         | 
| 259 259 | 
             
            requirements: []
         | 
| 260 260 | 
             
            rubyforge_project: 
         | 
| 261 | 
            -
            rubygems_version: 2. | 
| 261 | 
            +
            rubygems_version: 2.7.7
         | 
| 262 262 | 
             
            signing_key: 
         | 
| 263 263 | 
             
            specification_version: 4
         | 
| 264 264 | 
             
            summary: A simple activerecord inspired rest resource base class implemented using
         |