acfs 0.50.0 → 1.0.0.dev.1.b297
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 +13 -5
 - data/CHANGELOG.md +0 -80
 - data/README.md +9 -8
 - data/acfs.gemspec +7 -7
 - data/lib/acfs.rb +5 -7
 - data/lib/acfs/adapter/base.rb +2 -0
 - data/lib/acfs/adapter/typhoeus.rb +13 -17
 - data/lib/acfs/collections/paginatable.rb +10 -10
 - data/lib/acfs/configuration.rb +5 -4
 - data/lib/acfs/errors.rb +9 -10
 - data/lib/acfs/global.rb +7 -16
 - data/lib/acfs/location.rb +11 -11
 - data/lib/acfs/middleware/base.rb +2 -1
 - data/lib/acfs/middleware/json_decoder.rb +16 -0
 - data/lib/acfs/middleware/json_encoder.rb +20 -0
 - data/lib/acfs/middleware/logger.rb +2 -0
 - data/lib/acfs/middleware/msgpack_decoder.rb +26 -0
 - data/lib/acfs/middleware/msgpack_encoder.rb +19 -0
 - data/lib/acfs/middleware/print.rb +2 -0
 - data/lib/acfs/operation.rb +5 -5
 - data/lib/acfs/request.rb +4 -4
 - data/lib/acfs/request/callbacks.rb +3 -2
 - data/lib/acfs/resource.rb +2 -2
 - data/lib/acfs/resource/attributes.rb +38 -11
 - data/lib/acfs/resource/attributes/base.rb +19 -10
 - data/lib/acfs/resource/attributes/boolean.rb +8 -10
 - data/lib/acfs/resource/attributes/date_time.rb +9 -6
 - data/lib/acfs/resource/attributes/float.rb +5 -11
 - data/lib/acfs/resource/attributes/integer.rb +5 -7
 - data/lib/acfs/resource/attributes/list.rb +6 -13
 - data/lib/acfs/resource/attributes/string.rb +5 -3
 - data/lib/acfs/resource/attributes/uuid.rb +17 -8
 - data/lib/acfs/resource/dirty.rb +15 -3
 - data/lib/acfs/resource/loadable.rb +1 -0
 - data/lib/acfs/resource/locatable.rb +4 -0
 - data/lib/acfs/resource/operational.rb +2 -0
 - data/lib/acfs/resource/persistence.rb +17 -17
 - data/lib/acfs/resource/query_methods.rb +7 -8
 - data/lib/acfs/resource/service.rb +2 -0
 - data/lib/acfs/resource/validation.rb +4 -4
 - data/lib/acfs/response.rb +2 -1
 - data/lib/acfs/response/formats.rb +3 -2
 - data/lib/acfs/response/status.rb +5 -3
 - data/lib/acfs/runner.rb +11 -21
 - data/lib/acfs/service.rb +6 -4
 - data/lib/acfs/service/middleware.rb +30 -20
 - data/lib/acfs/singleton_resource.rb +2 -0
 - data/lib/acfs/stub.rb +21 -30
 - data/lib/acfs/util.rb +1 -1
 - data/lib/acfs/version.rb +4 -6
 - data/spec/acfs/adapter/typhoeus_spec.rb +4 -12
 - data/spec/acfs/collection_spec.rb +33 -45
 - data/spec/acfs/configuration_spec.rb +1 -9
 - data/spec/acfs/global_spec.rb +3 -21
 - data/spec/acfs/middleware/json_decoder_spec.rb +45 -0
 - data/spec/acfs/middleware/msgpack_decoder_spec.rb +36 -0
 - data/spec/acfs/request/callbacks_spec.rb +8 -8
 - data/spec/acfs/request_spec.rb +5 -5
 - data/spec/acfs/resource/attributes/boolean_spec.rb +9 -40
 - data/spec/acfs/resource/attributes/date_time_spec.rb +35 -29
 - data/spec/acfs/resource/attributes/float_spec.rb +9 -48
 - data/spec/acfs/resource/attributes/list_spec.rb +19 -43
 - data/spec/acfs/resource/attributes/uuid_spec.rb +54 -31
 - data/spec/acfs/resource/attributes_spec.rb +31 -17
 - data/spec/acfs/resource/locatable_spec.rb +2 -2
 - data/spec/acfs/resource/persistance_spec.rb +34 -65
 - data/spec/acfs/resource/query_methods_spec.rb +90 -97
 - data/spec/acfs/resource/validation_spec.rb +5 -4
 - data/spec/acfs/response/formats_spec.rb +4 -4
 - data/spec/acfs/response/status_spec.rb +1 -1
 - data/spec/acfs/runner_spec.rb +3 -28
 - data/spec/acfs/service/middleware_spec.rb +20 -4
 - data/spec/acfs/service_spec.rb +5 -3
 - data/spec/acfs/singleton_resource_spec.rb +2 -1
 - data/spec/acfs/stub_spec.rb +22 -137
 - data/spec/acfs_spec.rb +19 -22
 - data/spec/spec_helper.rb +2 -3
 - data/spec/support/service.rb +6 -10
 - data/spec/support/shared/find_callbacks.rb +7 -7
 - metadata +36 -43
 - data/lib/acfs/middleware/json.rb +0 -27
 - data/lib/acfs/middleware/msgpack.rb +0 -30
 - data/lib/acfs/middleware/serializer.rb +0 -39
 - data/lib/acfs/resource/attributes/dict.rb +0 -37
 - data/lib/acfs/service/middleware/stack.rb +0 -63
 - data/spec/acfs/middleware/json_spec.rb +0 -63
 - data/spec/acfs/middleware/msgpack_spec.rb +0 -60
 - data/spec/acfs/operation_spec.rb +0 -10
 - data/spec/acfs/resource/attributes/dict_spec.rb +0 -75
 - data/spec/acfs/resource/attributes/integer_spec.rb +0 -34
 
| 
         @@ -14,7 +14,7 @@ describe Acfs::Resource::QueryMethods do 
     | 
|
| 
       14 
14 
     | 
    
         
             
                                            name: 'Clare Customer', age: 24
         
     | 
| 
       15 
15 
     | 
    
         
             
                    end
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
                    let(:action) {  
     | 
| 
      
 17 
     | 
    
         
            +
                    let(:action) { lambda{|cb = nil| model.find(1, &cb) } }
         
     | 
| 
       18 
18 
     | 
    
         
             
                    it_behaves_like 'a query method with multi-callback support'
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         
             
                    it 'should load a single remote resource' do
         
     | 
| 
         @@ -44,7 +44,7 @@ describe Acfs::Resource::QueryMethods do 
     | 
|
| 
       44 
44 
     | 
    
         
             
                  context 'with 404 response' do
         
     | 
| 
       45 
45 
     | 
    
         
             
                    before do
         
     | 
| 
       46 
46 
     | 
    
         
             
                      stub_request(:get, 'http://users.example.org/users/1')
         
     | 
| 
       47 
     | 
    
         
            -
                        .to_return response({error: 'not found'},  
     | 
| 
      
 47 
     | 
    
         
            +
                        .to_return response({error: 'not found'}, status: 404)
         
     | 
| 
       48 
48 
     | 
    
         
             
                    end
         
     | 
| 
       49 
49 
     | 
    
         | 
| 
       50 
50 
     | 
    
         
             
                    it 'should raise a NotFound error' do
         
     | 
| 
         @@ -95,7 +95,7 @@ describe Acfs::Resource::QueryMethods do 
     | 
|
| 
       95 
95 
     | 
    
         
             
                    end
         
     | 
| 
       96 
96 
     | 
    
         | 
| 
       97 
97 
     | 
    
         
             
                    it 'should invoke callback after all models are loaded' do
         
     | 
| 
       98 
     | 
    
         
            -
                      block = proc 
     | 
| 
      
 98 
     | 
    
         
            +
                      block = proc{}
         
     | 
| 
       99 
99 
     | 
    
         
             
                      expect(block).to receive(:call) do |users|
         
     | 
| 
       100 
100 
     | 
    
         
             
                        expect(users).to equal @users
         
     | 
| 
       101 
101 
     | 
    
         
             
                        expect(users.size).to be == 2
         
     | 
| 
         @@ -107,8 +107,8 @@ describe Acfs::Resource::QueryMethods do 
     | 
|
| 
       107 
107 
     | 
    
         
             
                    end
         
     | 
| 
       108 
108 
     | 
    
         | 
| 
       109 
109 
     | 
    
         
             
                    it 'should invoke multiple callback after all models are loaded' do
         
     | 
| 
       110 
     | 
    
         
            -
                      proc1 = proc 
     | 
| 
       111 
     | 
    
         
            -
                      proc2 = proc 
     | 
| 
      
 110 
     | 
    
         
            +
                      proc1 = proc{}
         
     | 
| 
      
 111 
     | 
    
         
            +
                      proc2 = proc{}
         
     | 
| 
       112 
112 
     | 
    
         
             
                      expect(proc1).to receive(:call) do |users|
         
     | 
| 
       113 
113 
     | 
    
         
             
                        expect(users).to equal @users
         
     | 
| 
       114 
114 
     | 
    
         
             
                        expect(users.size).to be == 2
         
     | 
| 
         @@ -137,7 +137,7 @@ describe Acfs::Resource::QueryMethods do 
     | 
|
| 
       137 
137 
     | 
    
         
             
                  context 'with one 404 response' do
         
     | 
| 
       138 
138 
     | 
    
         
             
                    before do
         
     | 
| 
       139 
139 
     | 
    
         
             
                      stub_request(:get, 'http://users.example.org/users/1')
         
     | 
| 
       140 
     | 
    
         
            -
                        .to_return response({error: 'not found'},  
     | 
| 
      
 140 
     | 
    
         
            +
                        .to_return response({error: 'not found'}, status: 404)
         
     | 
| 
       141 
141 
     | 
    
         
             
                    end
         
     | 
| 
       142 
142 
     | 
    
         | 
| 
       143 
143 
     | 
    
         
             
                    it 'should raise resource not found error' do
         
     | 
| 
         @@ -162,8 +162,8 @@ describe Acfs::Resource::QueryMethods do 
     | 
|
| 
       162 
162 
     | 
    
         
             
                end
         
     | 
| 
       163 
163 
     | 
    
         | 
| 
       164 
164 
     | 
    
         
             
                it 'should invoke multiple callback after all models are loaded' do
         
     | 
| 
       165 
     | 
    
         
            -
                  proc1 = proc 
     | 
| 
       166 
     | 
    
         
            -
                  proc2 = proc 
     | 
| 
      
 165 
     | 
    
         
            +
                  proc1 = proc{}
         
     | 
| 
      
 166 
     | 
    
         
            +
                  proc2 = proc{}
         
     | 
| 
       167 
167 
     | 
    
         
             
                  expect(proc1).to receive(:call) do |computers|
         
     | 
| 
       168 
168 
     | 
    
         
             
                    expect(computers).to equal @computers
         
     | 
| 
       169 
169 
     | 
    
         
             
                    expect(computers.size).to be == 3
         
     | 
| 
         @@ -274,7 +274,7 @@ describe Acfs::Resource::QueryMethods do 
     | 
|
| 
       274 
274 
     | 
    
         
             
                    end
         
     | 
| 
       275 
275 
     | 
    
         | 
| 
       276 
276 
     | 
    
         
             
                    it 'should invoke callback after model is loaded' do
         
     | 
| 
       277 
     | 
    
         
            -
                      block = proc 
     | 
| 
      
 277 
     | 
    
         
            +
                      block = proc{}
         
     | 
| 
       278 
278 
     | 
    
         | 
| 
       279 
279 
     | 
    
         
             
                      expect(block).to receive(:call) do |user|
         
     | 
| 
       280 
280 
     | 
    
         
             
                        expect(user).to eql @user.__getobj__
         
     | 
| 
         @@ -287,8 +287,8 @@ describe Acfs::Resource::QueryMethods do 
     | 
|
| 
       287 
287 
     | 
    
         
             
                    end
         
     | 
| 
       288 
288 
     | 
    
         | 
| 
       289 
289 
     | 
    
         
             
                    it 'should invoke multiple callbacks after model is loaded' do
         
     | 
| 
       290 
     | 
    
         
            -
                      proc1 = proc 
     | 
| 
       291 
     | 
    
         
            -
                      proc2 = proc 
     | 
| 
      
 290 
     | 
    
         
            +
                      proc1 = proc{}
         
     | 
| 
      
 291 
     | 
    
         
            +
                      proc2 = proc{}
         
     | 
| 
       292 
292 
     | 
    
         | 
| 
       293 
293 
     | 
    
         
             
                      expect(proc1).to receive(:call) do |user|
         
     | 
| 
       294 
294 
     | 
    
         
             
                        expect(user).to eql @user.__getobj__
         
     | 
| 
         @@ -340,7 +340,7 @@ describe Acfs::Resource::QueryMethods do 
     | 
|
| 
       340 
340 
     | 
    
         
             
                    it { should be_nil }
         
     | 
| 
       341 
341 
     | 
    
         | 
| 
       342 
342 
     | 
    
         
             
                    it 'should invoke callback after model is loaded' do
         
     | 
| 
       343 
     | 
    
         
            -
                      block = proc 
     | 
| 
      
 343 
     | 
    
         
            +
                      block = proc{}
         
     | 
| 
       344 
344 
     | 
    
         | 
| 
       345 
345 
     | 
    
         
             
                      expect(block).to receive(:call) do |user|
         
     | 
| 
       346 
346 
     | 
    
         
             
                        expect(user).to eql @user.__getobj__
         
     | 
| 
         @@ -352,8 +352,8 @@ describe Acfs::Resource::QueryMethods do 
     | 
|
| 
       352 
352 
     | 
    
         
             
                    end
         
     | 
| 
       353 
353 
     | 
    
         | 
| 
       354 
354 
     | 
    
         
             
                    it 'should invoke multiple callbacks after model is loaded' do
         
     | 
| 
       355 
     | 
    
         
            -
                      proc1 = proc 
     | 
| 
       356 
     | 
    
         
            -
                      proc2 = proc 
     | 
| 
      
 355 
     | 
    
         
            +
                      proc1 = proc{}
         
     | 
| 
      
 356 
     | 
    
         
            +
                      proc2 = proc{}
         
     | 
| 
       357 
357 
     | 
    
         | 
| 
       358 
358 
     | 
    
         
             
                      expect(proc1).to receive(:call) do |user|
         
     | 
| 
       359 
359 
     | 
    
         
             
                        expect(user).to eql @user.__getobj__
         
     | 
| 
         @@ -393,7 +393,7 @@ describe Acfs::Resource::QueryMethods do 
     | 
|
| 
       393 
393 
     | 
    
         
             
                    end
         
     | 
| 
       394 
394 
     | 
    
         | 
| 
       395 
395 
     | 
    
         
             
                    it 'should not invoke callback after model could not be loaded' do
         
     | 
| 
       396 
     | 
    
         
            -
                      block = proc 
     | 
| 
      
 396 
     | 
    
         
            +
                      block = proc{}
         
     | 
| 
       397 
397 
     | 
    
         | 
| 
       398 
398 
     | 
    
         
             
                      expect(block).not_to receive(:call)
         
     | 
| 
       399 
399 
     | 
    
         | 
| 
         @@ -406,30 +406,30 @@ describe Acfs::Resource::QueryMethods do 
     | 
|
| 
       406 
406 
     | 
    
         
             
                describe '#each_page' do
         
     | 
| 
       407 
407 
     | 
    
         
             
                  context 'without parameters' do
         
     | 
| 
       408 
408 
     | 
    
         
             
                    before do
         
     | 
| 
       409 
     | 
    
         
            -
                      stub_request(:get, 'http://users.example.org/users')
         
     | 
| 
       410 
     | 
    
         
            -
             
     | 
| 
       411 
     | 
    
         
            -
             
     | 
| 
       412 
     | 
    
         
            -
             
     | 
| 
       413 
     | 
    
         
            -
             
     | 
| 
       414 
     | 
    
         
            -
             
     | 
| 
       415 
     | 
    
         
            -
                      stub_request(:get, 'http://users.example.org/users?page=2')
         
     | 
| 
       416 
     | 
    
         
            -
             
     | 
| 
       417 
     | 
    
         
            -
             
     | 
| 
       418 
     | 
    
         
            -
             
     | 
| 
       419 
     | 
    
         
            -
             
     | 
| 
       420 
     | 
    
         
            -
             
     | 
| 
       421 
     | 
    
         
            -
                      stub_request(:get, 'http://users.example.org/users?page=3')
         
     | 
| 
       422 
     | 
    
         
            -
             
     | 
| 
       423 
     | 
    
         
            -
             
     | 
| 
       424 
     | 
    
         
            -
             
     | 
| 
       425 
     | 
    
         
            -
             
     | 
| 
       426 
     | 
    
         
            -
             
     | 
| 
       427 
     | 
    
         
            -
                      stub_request(:get, 'http://users.example.org/users?page=4')
         
     | 
| 
       428 
     | 
    
         
            -
             
     | 
| 
       429 
     | 
    
         
            -
             
     | 
| 
       430 
     | 
    
         
            -
             
     | 
| 
       431 
     | 
    
         
            -
             
     | 
| 
       432 
     | 
    
         
            -
             
     | 
| 
      
 409 
     | 
    
         
            +
                      stub_request(:get, 'http://users.example.org/users').
         
     | 
| 
      
 410 
     | 
    
         
            +
                          to_return response([{id: 1, name: 'Anno', age: 1604, born_at: 'Santa Maria'}],
         
     | 
| 
      
 411 
     | 
    
         
            +
                                             headers: {
         
     | 
| 
      
 412 
     | 
    
         
            +
                                                 'X-Total-Pages' => '4',
         
     | 
| 
      
 413 
     | 
    
         
            +
                                                 'Link'          => '<http://users.example.org/users?page=2>; rel="next"'
         
     | 
| 
      
 414 
     | 
    
         
            +
                                             })
         
     | 
| 
      
 415 
     | 
    
         
            +
                      stub_request(:get, 'http://users.example.org/users?page=2').
         
     | 
| 
      
 416 
     | 
    
         
            +
                          to_return response([{id: 2, name: 'Anno', age: 1604, born_at: 'Santa Maria'}],
         
     | 
| 
      
 417 
     | 
    
         
            +
                                             headers: {
         
     | 
| 
      
 418 
     | 
    
         
            +
                                                 'X-Total-Pages' => '4',
         
     | 
| 
      
 419 
     | 
    
         
            +
                                                 'Link'          => '<http://users.example.org/users?page=3>; rel="next"'
         
     | 
| 
      
 420 
     | 
    
         
            +
                                             })
         
     | 
| 
      
 421 
     | 
    
         
            +
                      stub_request(:get, 'http://users.example.org/users?page=3').
         
     | 
| 
      
 422 
     | 
    
         
            +
                          to_return response([{id: 3, name: 'Anno', age: 1604, born_at: 'Santa Maria'}],
         
     | 
| 
      
 423 
     | 
    
         
            +
                                             headers: {
         
     | 
| 
      
 424 
     | 
    
         
            +
                                                 'X-Total-Pages' => '4',
         
     | 
| 
      
 425 
     | 
    
         
            +
                                                 'Link'          => '<http://users.example.org/users?page=4>; rel="next"'
         
     | 
| 
      
 426 
     | 
    
         
            +
                                             })
         
     | 
| 
      
 427 
     | 
    
         
            +
                      stub_request(:get, 'http://users.example.org/users?page=4').
         
     | 
| 
      
 428 
     | 
    
         
            +
                          to_return response([{id: 4, name: 'Anno', age: 1604, born_at: 'Santa Maria'}],
         
     | 
| 
      
 429 
     | 
    
         
            +
                                             headers: {
         
     | 
| 
      
 430 
     | 
    
         
            +
                                                 'X-Total-Pages' => '4',
         
     | 
| 
      
 431 
     | 
    
         
            +
                                                 'Link'          => ''
         
     | 
| 
      
 432 
     | 
    
         
            +
                                             })
         
     | 
| 
       433 
433 
     | 
    
         
             
                    end
         
     | 
| 
       434 
434 
     | 
    
         | 
| 
       435 
435 
     | 
    
         
             
                    it 'should iterate all pages' do
         
     | 
| 
         @@ -448,30 +448,30 @@ describe Acfs::Resource::QueryMethods do 
     | 
|
| 
       448 
448 
     | 
    
         | 
| 
       449 
449 
     | 
    
         
             
                  context 'with parameters' do
         
     | 
| 
       450 
450 
     | 
    
         
             
                    before do
         
     | 
| 
       451 
     | 
    
         
            -
                      stub_request(:get, 'http://users.example.org/users?param=bla')
         
     | 
| 
       452 
     | 
    
         
            -
             
     | 
| 
       453 
     | 
    
         
            -
             
     | 
| 
       454 
     | 
    
         
            -
             
     | 
| 
       455 
     | 
    
         
            -
             
     | 
| 
       456 
     | 
    
         
            -
             
     | 
| 
       457 
     | 
    
         
            -
                      stub_request(:get, 'http://users.example.org/users?where=fuu&page=2')
         
     | 
| 
       458 
     | 
    
         
            -
             
     | 
| 
       459 
     | 
    
         
            -
             
     | 
| 
       460 
     | 
    
         
            -
             
     | 
| 
       461 
     | 
    
         
            -
             
     | 
| 
       462 
     | 
    
         
            -
             
     | 
| 
       463 
     | 
    
         
            -
                      stub_request(:get, 'http://users.example.org/users?page=3')
         
     | 
| 
       464 
     | 
    
         
            -
             
     | 
| 
       465 
     | 
    
         
            -
             
     | 
| 
       466 
     | 
    
         
            -
             
     | 
| 
       467 
     | 
    
         
            -
             
     | 
| 
       468 
     | 
    
         
            -
             
     | 
| 
       469 
     | 
    
         
            -
                      stub_request(:get, 'http://users.example.org/users?page=4')
         
     | 
| 
       470 
     | 
    
         
            -
             
     | 
| 
       471 
     | 
    
         
            -
             
     | 
| 
       472 
     | 
    
         
            -
             
     | 
| 
       473 
     | 
    
         
            -
             
     | 
| 
       474 
     | 
    
         
            -
             
     | 
| 
      
 451 
     | 
    
         
            +
                      stub_request(:get, 'http://users.example.org/users?param=bla').
         
     | 
| 
      
 452 
     | 
    
         
            +
                          to_return response([{id: 1, name: 'Anno', age: 1604, born_at: 'Santa Maria'}],
         
     | 
| 
      
 453 
     | 
    
         
            +
                                             headers: {
         
     | 
| 
      
 454 
     | 
    
         
            +
                                                 'X-Total-Pages' => '4',
         
     | 
| 
      
 455 
     | 
    
         
            +
                                                 'Link'          => '<http://users.example.org/users?where=fuu&page=2>; rel="next"'
         
     | 
| 
      
 456 
     | 
    
         
            +
                                             })
         
     | 
| 
      
 457 
     | 
    
         
            +
                      stub_request(:get, 'http://users.example.org/users?where=fuu&page=2').
         
     | 
| 
      
 458 
     | 
    
         
            +
                          to_return response([{id: 2, name: 'Anno', age: 1604, born_at: 'Santa Maria'}],
         
     | 
| 
      
 459 
     | 
    
         
            +
                                             headers: {
         
     | 
| 
      
 460 
     | 
    
         
            +
                                                 'X-Total-Pages' => '4',
         
     | 
| 
      
 461 
     | 
    
         
            +
                                                 'Link'          => '<http://users.example.org/users?page=3>; rel="next"'
         
     | 
| 
      
 462 
     | 
    
         
            +
                                             })
         
     | 
| 
      
 463 
     | 
    
         
            +
                      stub_request(:get, 'http://users.example.org/users?page=3').
         
     | 
| 
      
 464 
     | 
    
         
            +
                          to_return response([{id: 3, name: 'Anno', age: 1604, born_at: 'Santa Maria'}],
         
     | 
| 
      
 465 
     | 
    
         
            +
                                             headers: {
         
     | 
| 
      
 466 
     | 
    
         
            +
                                                 'X-Total-Pages' => '4',
         
     | 
| 
      
 467 
     | 
    
         
            +
                                                 'Link'          => '<http://users.example.org/users?page=4>; rel="next"'
         
     | 
| 
      
 468 
     | 
    
         
            +
                                             })
         
     | 
| 
      
 469 
     | 
    
         
            +
                      stub_request(:get, 'http://users.example.org/users?page=4').
         
     | 
| 
      
 470 
     | 
    
         
            +
                          to_return response([{id: 4, name: 'Anno', age: 1604, born_at: 'Santa Maria'}],
         
     | 
| 
      
 471 
     | 
    
         
            +
                                             headers: {
         
     | 
| 
      
 472 
     | 
    
         
            +
                                                 'X-Total-Pages' => '4',
         
     | 
| 
      
 473 
     | 
    
         
            +
                                                 'Link'          => ''
         
     | 
| 
      
 474 
     | 
    
         
            +
                                             })
         
     | 
| 
       475 
475 
     | 
    
         
             
                    end
         
     | 
| 
       476 
476 
     | 
    
         | 
| 
       477 
477 
     | 
    
         
             
                    it 'should call first page with params and follow relations' do
         
     | 
| 
         @@ -492,48 +492,41 @@ describe Acfs::Resource::QueryMethods do 
     | 
|
| 
       492 
492 
     | 
    
         
             
                describe '#each_item' do
         
     | 
| 
       493 
493 
     | 
    
         
             
                  context 'without parameters' do
         
     | 
| 
       494 
494 
     | 
    
         
             
                    before do
         
     | 
| 
       495 
     | 
    
         
            -
                      stub_request(:get, 'http://users.example.org/users')
         
     | 
| 
       496 
     | 
    
         
            -
             
     | 
| 
       497 
     | 
    
         
            -
             
     | 
| 
       498 
     | 
    
         
            -
             
     | 
| 
       499 
     | 
    
         
            -
             
     | 
| 
       500 
     | 
    
         
            -
             
     | 
| 
       501 
     | 
    
         
            -
                      stub_request(:get, 'http://users.example.org/users?page=2')
         
     | 
| 
       502 
     | 
    
         
            -
             
     | 
| 
       503 
     | 
    
         
            -
             
     | 
| 
       504 
     | 
    
         
            -
             
     | 
| 
       505 
     | 
    
         
            -
             
     | 
| 
       506 
     | 
    
         
            -
             
     | 
| 
       507 
     | 
    
         
            -
                      stub_request(:get, 'http://users.example.org/users?page=3')
         
     | 
| 
       508 
     | 
    
         
            -
             
     | 
| 
       509 
     | 
    
         
            -
             
     | 
| 
       510 
     | 
    
         
            -
             
     | 
| 
       511 
     | 
    
         
            -
             
     | 
| 
       512 
     | 
    
         
            -
             
     | 
| 
       513 
     | 
    
         
            -
                      stub_request(:get, 'http://users.example.org/users?page=4')
         
     | 
| 
       514 
     | 
    
         
            -
             
     | 
| 
       515 
     | 
    
         
            -
             
     | 
| 
       516 
     | 
    
         
            -
             
     | 
| 
       517 
     | 
    
         
            -
             
     | 
| 
       518 
     | 
    
         
            -
             
     | 
| 
      
 495 
     | 
    
         
            +
                      stub_request(:get, 'http://users.example.org/users').
         
     | 
| 
      
 496 
     | 
    
         
            +
                          to_return response([{id: 1, name: 'Anno', age: 1604, born_at: 'Santa Maria'}],
         
     | 
| 
      
 497 
     | 
    
         
            +
                                             headers: {
         
     | 
| 
      
 498 
     | 
    
         
            +
                                                 'X-Total-Pages' => '4',
         
     | 
| 
      
 499 
     | 
    
         
            +
                                                 'Link'          => '<http://users.example.org/users?page=2>; rel="next"'
         
     | 
| 
      
 500 
     | 
    
         
            +
                                             })
         
     | 
| 
      
 501 
     | 
    
         
            +
                      stub_request(:get, 'http://users.example.org/users?page=2').
         
     | 
| 
      
 502 
     | 
    
         
            +
                          to_return response([{id: 2, name: 'Anno', age: 1604, born_at: 'Santa Maria'}],
         
     | 
| 
      
 503 
     | 
    
         
            +
                                             headers: {
         
     | 
| 
      
 504 
     | 
    
         
            +
                                                 'X-Total-Pages' => '4',
         
     | 
| 
      
 505 
     | 
    
         
            +
                                                 'Link'          => '<http://users.example.org/users?page=3>; rel="next"'
         
     | 
| 
      
 506 
     | 
    
         
            +
                                             })
         
     | 
| 
      
 507 
     | 
    
         
            +
                      stub_request(:get, 'http://users.example.org/users?page=3').
         
     | 
| 
      
 508 
     | 
    
         
            +
                          to_return response([{id: 3, name: 'Anno', age: 1604, born_at: 'Santa Maria'},{id: 4, name: 'Anno', age: 1604, born_at: 'Santa Maria'}],
         
     | 
| 
      
 509 
     | 
    
         
            +
                                             headers: {
         
     | 
| 
      
 510 
     | 
    
         
            +
                                                 'X-Total-Pages' => '4',
         
     | 
| 
      
 511 
     | 
    
         
            +
                                                 'Link'          => '<http://users.example.org/users?page=4>; rel="next"'
         
     | 
| 
      
 512 
     | 
    
         
            +
                                             })
         
     | 
| 
      
 513 
     | 
    
         
            +
                      stub_request(:get, 'http://users.example.org/users?page=4').
         
     | 
| 
      
 514 
     | 
    
         
            +
                          to_return response([{id: 5, name: 'Anno', age: 1604, born_at: 'Santa Maria'}],
         
     | 
| 
      
 515 
     | 
    
         
            +
                                             headers: {
         
     | 
| 
      
 516 
     | 
    
         
            +
                                                 'X-Total-Pages' => '4',
         
     | 
| 
      
 517 
     | 
    
         
            +
                                                 'Link'          => ''
         
     | 
| 
      
 518 
     | 
    
         
            +
                                             })
         
     | 
| 
       519 
519 
     | 
    
         
             
                    end
         
     | 
| 
       520 
520 
     | 
    
         | 
| 
       521 
521 
     | 
    
         
             
                    it 'should iterate all pages' do
         
     | 
| 
       522 
     | 
    
         
            -
                       
     | 
| 
      
 522 
     | 
    
         
            +
                      indecies = []
         
     | 
| 
       523 
523 
     | 
    
         
             
                      model.each_item do |item|
         
     | 
| 
       524 
524 
     | 
    
         
             
                        expect(item).to be_a MyUser
         
     | 
| 
       525 
     | 
    
         
            -
                         
     | 
| 
      
 525 
     | 
    
         
            +
                        indecies << item.id
         
     | 
| 
       526 
526 
     | 
    
         
             
                      end
         
     | 
| 
       527 
527 
     | 
    
         
             
                      Acfs.run
         
     | 
| 
       528 
528 
     | 
    
         | 
| 
       529 
     | 
    
         
            -
                      expect( 
     | 
| 
       530 
     | 
    
         
            -
                    end
         
     | 
| 
       531 
     | 
    
         
            -
             
     | 
| 
       532 
     | 
    
         
            -
                    it 'should pass the collection to the provided block' do
         
     | 
| 
       533 
     | 
    
         
            -
                      model.each_item do |_item, collection|
         
     | 
| 
       534 
     | 
    
         
            -
                        expect(collection).to be_a Acfs::Collection
         
     | 
| 
       535 
     | 
    
         
            -
                      end
         
     | 
| 
       536 
     | 
    
         
            -
                      Acfs.run
         
     | 
| 
      
 529 
     | 
    
         
            +
                      expect(indecies).to eq [1, 2, 3, 4, 5]
         
     | 
| 
       537 
530 
     | 
    
         
             
                    end
         
     | 
| 
       538 
531 
     | 
    
         
             
                  end
         
     | 
| 
       539 
532 
     | 
    
         
             
                end
         
     | 
| 
         @@ -23,7 +23,7 @@ describe Acfs::Resource::Validation do 
     | 
|
| 
       23 
23 
     | 
    
         
             
                  after  { Acfs::Stub.disable }
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
25 
     | 
    
         
             
                  before do
         
     | 
| 
       26 
     | 
    
         
            -
                    Acfs::Stub.resource MyUser, :create, return: {errors: {name: ['can\'t be blank']}}, raise: 422
         
     | 
| 
      
 26 
     | 
    
         
            +
                    Acfs::Stub.resource MyUser, :create, with: {}, return: {errors: {name: ['can\'t be blank']}}, raise: 422
         
     | 
| 
       27 
27 
     | 
    
         
             
                  end
         
     | 
| 
       28 
28 
     | 
    
         | 
| 
       29 
29 
     | 
    
         
             
                  let(:params)   { {} }
         
     | 
| 
         @@ -34,7 +34,7 @@ describe Acfs::Resource::Validation do 
     | 
|
| 
       34 
34 
     | 
    
         | 
| 
       35 
35 
     | 
    
         
             
                  it 'should not override errors' do
         
     | 
| 
       36 
36 
     | 
    
         
             
                    subject.valid?
         
     | 
| 
       37 
     | 
    
         
            -
                    expect(subject.errors.to_hash).to eq(name: ['can\'t be blank'])
         
     | 
| 
      
 37 
     | 
    
         
            +
                    expect(subject.errors.to_hash).to eq({name: ['can\'t be blank']})
         
     | 
| 
       38 
38 
     | 
    
         
             
                  end
         
     | 
| 
       39 
39 
     | 
    
         
             
                end
         
     | 
| 
       40 
40 
     | 
    
         
             
              end
         
     | 
| 
         @@ -73,7 +73,7 @@ describe Acfs::Resource::Validation do 
     | 
|
| 
       73 
73 
     | 
    
         
             
                  let(:resource) { MyUser.create params }
         
     | 
| 
       74 
74 
     | 
    
         
             
                  subject { resource }
         
     | 
| 
       75 
75 
     | 
    
         | 
| 
       76 
     | 
    
         
            -
                  its(:errors) { expect(subject.errors.to_hash).to eq(name: ['can\'t be blank']) }
         
     | 
| 
      
 76 
     | 
    
         
            +
                  its(:errors) { expect(subject.errors.to_hash).to eq({name: ['can\'t be blank']}) }
         
     | 
| 
       77 
77 
     | 
    
         
             
                end
         
     | 
| 
       78 
78 
     | 
    
         
             
              end
         
     | 
| 
       79 
79 
     | 
    
         | 
| 
         @@ -96,7 +96,7 @@ describe Acfs::Resource::Validation do 
     | 
|
| 
       96 
96 
     | 
    
         | 
| 
       97 
97 
     | 
    
         
             
                context 'on changed resource' do
         
     | 
| 
       98 
98 
     | 
    
         
             
                  before { model.loaded! }
         
     | 
| 
       99 
     | 
    
         
            -
                  let(:model) { super().tap {|m| m.id = 1 } }
         
     | 
| 
      
 99 
     | 
    
         
            +
                  let(:model) { super().tap { |m| m.id = 1 } }
         
     | 
| 
       100 
100 
     | 
    
         | 
| 
       101 
101 
     | 
    
         
             
                  it 'should validate with `save` context' do
         
     | 
| 
       102 
102 
     | 
    
         
             
                    expect(model).to receive(:valid?).with(:save).and_call_original
         
     | 
| 
         @@ -106,5 +106,6 @@ describe Acfs::Resource::Validation do 
     | 
|
| 
       106 
106 
     | 
    
         
             
              end
         
     | 
| 
       107 
107 
     | 
    
         | 
| 
       108 
108 
     | 
    
         
             
              describe 'validates with context' do
         
     | 
| 
      
 109 
     | 
    
         
            +
             
     | 
| 
       109 
110 
     | 
    
         
             
              end
         
     | 
| 
       110 
111 
     | 
    
         
             
            end
         
     | 
| 
         @@ -3,7 +3,7 @@ require 'spec_helper' 
     | 
|
| 
       3 
3 
     | 
    
         
             
            describe Acfs::Response::Formats do
         
     | 
| 
       4 
4 
     | 
    
         
             
              let(:status)    { 200 }
         
     | 
| 
       5 
5 
     | 
    
         
             
              let(:mime_type) { 'application/unknown' }
         
     | 
| 
       6 
     | 
    
         
            -
              let(:headers)   { {'Content-Type' => mime_type} }
         
     | 
| 
      
 6 
     | 
    
         
            +
              let(:headers)   { { 'Content-Type' => mime_type } }
         
     | 
| 
       7 
7 
     | 
    
         
             
              let(:request)   { Acfs::Request.new 'fubar' }
         
     | 
| 
       8 
8 
     | 
    
         
             
              let(:body)      { nil }
         
     | 
| 
       9 
9 
     | 
    
         
             
              let(:response)  { Acfs::Response.new request, status: status, headers: headers, body: body }
         
     | 
| 
         @@ -12,7 +12,7 @@ describe Acfs::Response::Formats do 
     | 
|
| 
       12 
12 
     | 
    
         
             
                let(:headers)   { {} }
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
                it "should fallback on 'text/plain'" do
         
     | 
| 
       15 
     | 
    
         
            -
                  expect(response.content_type).to be == Mime 
     | 
| 
      
 15 
     | 
    
         
            +
                  expect(response.content_type).to be == Mime::TEXT
         
     | 
| 
       16 
16 
     | 
    
         
             
                end
         
     | 
| 
       17 
17 
     | 
    
         
             
              end
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
         @@ -21,7 +21,7 @@ describe Acfs::Response::Formats do 
     | 
|
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         
             
                describe '#content_type' do
         
     | 
| 
       23 
23 
     | 
    
         
             
                  it 'should return Mime::JSON' do
         
     | 
| 
       24 
     | 
    
         
            -
                    expect(response.content_type).to be == Mime 
     | 
| 
      
 24 
     | 
    
         
            +
                    expect(response.content_type).to be == Mime::JSON
         
     | 
| 
       25 
25 
     | 
    
         
             
                  end
         
     | 
| 
       26 
26 
     | 
    
         
             
                end
         
     | 
| 
       27 
27 
     | 
    
         | 
| 
         @@ -36,7 +36,7 @@ describe Acfs::Response::Formats do 
     | 
|
| 
       36 
36 
     | 
    
         | 
| 
       37 
37 
     | 
    
         
             
                  describe '#content_type' do
         
     | 
| 
       38 
38 
     | 
    
         
             
                    it 'should return Mime::JSON' do
         
     | 
| 
       39 
     | 
    
         
            -
                      expect(response.content_type).to be == Mime 
     | 
| 
      
 39 
     | 
    
         
            +
                      expect(response.content_type).to be == Mime::JSON
         
     | 
| 
       40 
40 
     | 
    
         
             
                    end
         
     | 
| 
       41 
41 
     | 
    
         
             
                  end
         
     | 
| 
       42 
42 
     | 
    
         | 
| 
         @@ -3,7 +3,7 @@ require 'spec_helper' 
     | 
|
| 
       3 
3 
     | 
    
         
             
            describe Acfs::Response::Status do
         
     | 
| 
       4 
4 
     | 
    
         
             
              let(:status)    { 200 }
         
     | 
| 
       5 
5 
     | 
    
         
             
              let(:mime_type) { 'application/unknown' }
         
     | 
| 
       6 
     | 
    
         
            -
              let(:headers)   { {'Content-Type' => mime_type} }
         
     | 
| 
      
 6 
     | 
    
         
            +
              let(:headers)   { { 'Content-Type' => mime_type } }
         
     | 
| 
       7 
7 
     | 
    
         
             
              let(:request)   { Acfs::Request.new 'fubar' }
         
     | 
| 
       8 
8 
     | 
    
         
             
              let(:body)      { nil }
         
     | 
| 
       9 
9 
     | 
    
         
             
              let(:response)  { Acfs::Response.new request, status: status, headers: headers, body: body }
         
     | 
    
        data/spec/acfs/runner_spec.rb
    CHANGED
    
    | 
         @@ -1,6 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'spec_helper'
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            class NullAdapter < Acfs::Adapter::Base
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
       4 
5 
     | 
    
         
             
              # Start processing queued requests.
         
     | 
| 
       5 
6 
     | 
    
         
             
              #
         
     | 
| 
       6 
7 
     | 
    
         
             
              def start
         
     | 
| 
         @@ -36,7 +37,6 @@ describe ::Acfs::Runner do 
     | 
|
| 
       36 
37 
     | 
    
         
             
              let(:adapter) { ::NullAdapter.new }
         
     | 
| 
       37 
38 
     | 
    
         
             
              let(:runner) { ::Acfs::Runner.new adapter }
         
     | 
| 
       38 
39 
     | 
    
         
             
              let(:collector) { NotificationCollector.new }
         
     | 
| 
       39 
     | 
    
         
            -
              let(:collector2) { NotificationCollector.new }
         
     | 
| 
       40 
40 
     | 
    
         | 
| 
       41 
41 
     | 
    
         
             
              after do
         
     | 
| 
       42 
42 
     | 
    
         
             
                ::ActiveSupport::Notifications.notifier = \
         
     | 
| 
         @@ -45,15 +45,13 @@ describe ::Acfs::Runner do 
     | 
|
| 
       45 
45 
     | 
    
         | 
| 
       46 
46 
     | 
    
         
             
              describe '#instrumentation' do
         
     | 
| 
       47 
47 
     | 
    
         
             
                before do
         
     | 
| 
       48 
     | 
    
         
            -
                  ::ActiveSupport::Notifications.subscribe 
     | 
| 
       49 
     | 
    
         
            -
                  ::ActiveSupport::Notifications.subscribe(/^acfs\.operation/, collector2)
         
     | 
| 
      
 48 
     | 
    
         
            +
                  ::ActiveSupport::Notifications.subscribe /^acfs\.runner/, collector
         
     | 
| 
       50 
49 
     | 
    
         
             
                end
         
     | 
| 
       51 
50 
     | 
    
         | 
| 
       52 
51 
     | 
    
         
             
                describe '#process' do
         
     | 
| 
       53 
52 
     | 
    
         
             
                  it 'should trigger event' do
         
     | 
| 
       54 
53 
     | 
    
         
             
                    runner.process ::Acfs::Operation.new MyUser, :read, params: {id: 0}
         
     | 
| 
       55 
54 
     | 
    
         
             
                    expect(collector.events).to have(1).items
         
     | 
| 
       56 
     | 
    
         
            -
                    expect(collector2.events).to have(1).items
         
     | 
| 
       57 
55 
     | 
    
         
             
                  end
         
     | 
| 
       58 
56 
     | 
    
         
             
                end
         
     | 
| 
       59 
57 
     | 
    
         | 
| 
         @@ -61,37 +59,14 @@ describe ::Acfs::Runner do 
     | 
|
| 
       61 
59 
     | 
    
         
             
                  it 'should trigger event' do
         
     | 
| 
       62 
60 
     | 
    
         
             
                    runner.run ::Acfs::Operation.new MyUser, :read, params: {id: 0}
         
     | 
| 
       63 
61 
     | 
    
         
             
                    expect(collector.events).to have(1).items
         
     | 
| 
       64 
     | 
    
         
            -
                    expect(collector2.events).to have(0).items
         
     | 
| 
       65 
62 
     | 
    
         
             
                  end
         
     | 
| 
       66 
63 
     | 
    
         
             
                end
         
     | 
| 
       67 
64 
     | 
    
         | 
| 
       68 
65 
     | 
    
         
             
                describe '#enqueue' do
         
     | 
| 
       69 
66 
     | 
    
         
             
                  it 'should trigger event' do
         
     | 
| 
       70 
     | 
    
         
            -
                    runner. 
     | 
| 
      
 67 
     | 
    
         
            +
                    runner.run ::Acfs::Operation.new MyUser, :read, params: {id: 0}
         
     | 
| 
       71 
68 
     | 
    
         
             
                    expect(collector.events).to have(1).items
         
     | 
| 
       72 
     | 
    
         
            -
                    expect(collector2.events).to have(0).items
         
     | 
| 
       73 
69 
     | 
    
         
             
                  end
         
     | 
| 
       74 
70 
     | 
    
         
             
                end
         
     | 
| 
       75 
71 
     | 
    
         
             
              end
         
     | 
| 
       76 
     | 
    
         
            -
             
     | 
| 
       77 
     | 
    
         
            -
              describe '#run' do
         
     | 
| 
       78 
     | 
    
         
            -
                before do
         
     | 
| 
       79 
     | 
    
         
            -
                  expect_any_instance_of(UserService).to receive(:prepare).and_return nil
         
     | 
| 
       80 
     | 
    
         
            -
                end
         
     | 
| 
       81 
     | 
    
         
            -
                it 'it should not do requests when a middleware aborted' do
         
     | 
| 
       82 
     | 
    
         
            -
                  expect(adapter).to_not receive :run
         
     | 
| 
       83 
     | 
    
         
            -
                  runner.run ::Acfs::Operation.new MyUser, :read, params: {id: 0}
         
     | 
| 
       84 
     | 
    
         
            -
                end
         
     | 
| 
       85 
     | 
    
         
            -
              end
         
     | 
| 
       86 
     | 
    
         
            -
             
     | 
| 
       87 
     | 
    
         
            -
              describe '#enqueue' do
         
     | 
| 
       88 
     | 
    
         
            -
                before do
         
     | 
| 
       89 
     | 
    
         
            -
                  expect_any_instance_of(UserService).to receive(:prepare).and_return nil
         
     | 
| 
       90 
     | 
    
         
            -
                end
         
     | 
| 
       91 
     | 
    
         
            -
                it 'it should not do requests when a middleware aborted' do
         
     | 
| 
       92 
     | 
    
         
            -
                  expect(adapter).to_not receive :queue
         
     | 
| 
       93 
     | 
    
         
            -
                  runner.enqueue ::Acfs::Operation.new MyUser, :read, params: {id: 0}
         
     | 
| 
       94 
     | 
    
         
            -
                  runner.start
         
     | 
| 
       95 
     | 
    
         
            -
                end
         
     | 
| 
       96 
     | 
    
         
            -
              end
         
     | 
| 
       97 
72 
     | 
    
         
             
            end
         
     | 
| 
         @@ -6,28 +6,44 @@ end 
     | 
|
| 
       6 
6 
     | 
    
         
             
            describe Acfs::Service::Middleware do
         
     | 
| 
       7 
7 
     | 
    
         
             
              let(:srv_class) { Class.new(Acfs::Service) }
         
     | 
| 
       8 
8 
     | 
    
         
             
              let(:options) { {} }
         
     | 
| 
      
 9 
     | 
    
         
            +
              let(:service) { srv_class.new options }
         
     | 
| 
       9 
10 
     | 
    
         
             
              let(:middleware) { TestMiddleware }
         
     | 
| 
       10 
11 
     | 
    
         | 
| 
       11 
12 
     | 
    
         
             
              describe '.use' do
         
     | 
| 
       12 
     | 
    
         
            -
                let(:options) { {abc: 'cde'} }
         
     | 
| 
      
 13 
     | 
    
         
            +
                let(:options) { { abc: 'cde' } }
         
     | 
| 
       13 
14 
     | 
    
         | 
| 
       14 
15 
     | 
    
         
             
                it 'should add middleware to list' do
         
     | 
| 
       15 
16 
     | 
    
         
             
                  srv_class.use middleware
         
     | 
| 
       16 
17 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
                  expect(srv_class. 
     | 
| 
      
 18 
     | 
    
         
            +
                  expect(srv_class.instance_variable_get(:@middlewares)).to include(middleware)
         
     | 
| 
       18 
19 
     | 
    
         
             
                end
         
     | 
| 
       19 
20 
     | 
    
         | 
| 
       20 
21 
     | 
    
         
             
                it 'should add middleware to stack' do
         
     | 
| 
       21 
22 
     | 
    
         
             
                  srv_class.use middleware
         
     | 
| 
       22 
23 
     | 
    
         | 
| 
       23 
     | 
    
         
            -
                  expect(srv_class.middleware 
     | 
| 
      
 24 
     | 
    
         
            +
                  expect(srv_class.middleware).to be_a(middleware)
         
     | 
| 
       24 
25 
     | 
    
         
             
                end
         
     | 
| 
       25 
26 
     | 
    
         | 
| 
       26 
27 
     | 
    
         
             
                it 'should instantiate middleware object' do
         
     | 
| 
       27 
28 
     | 
    
         
             
                  expect(middleware).to receive(:new).with(anything, options)
         
     | 
| 
       28 
29 
     | 
    
         | 
| 
       29 
30 
     | 
    
         
             
                  srv_class.use middleware, options
         
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
      
 31 
     | 
    
         
            +
                end
         
     | 
| 
      
 32 
     | 
    
         
            +
              end
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
              describe '.clear' do
         
     | 
| 
      
 35 
     | 
    
         
            +
                before { srv_class.use middleware }
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
                it 'should clear middleware list' do
         
     | 
| 
      
 38 
     | 
    
         
            +
                  srv_class.clear
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
                  expect(srv_class.instance_variable_get(:@middlewares)).to be_empty
         
     | 
| 
      
 41 
     | 
    
         
            +
                end
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                it 'should reset middleware stack' do
         
     | 
| 
      
 44 
     | 
    
         
            +
                  srv_class.clear
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                  expect(srv_class.instance_variable_get(:@middleware)).to be_nil
         
     | 
| 
       31 
47 
     | 
    
         
             
                end
         
     | 
| 
       32 
48 
     | 
    
         
             
              end
         
     | 
| 
       33 
49 
     | 
    
         
             
            end
         
     |