@@ -358,63 +358,65 @@ def app; subject end
358
358
end
359
359
360
360
context 'custom middleware' do
361
- class PhonyMiddleware
362
- def initialize ( app , *args )
363
- @args = args
364
- @app = app
365
- @block = true if block_given?
366
- end
361
+ module ApiSpec
362
+ class PhonyMiddleware
363
+ def initialize ( app , *args )
364
+ @args = args
365
+ @app = app
366
+ @block = true if block_given?
367
+ end
367
368
368
- def call ( env )
369
- env [ 'phony.args' ] ||= [ ]
370
- env [ 'phony.args' ] << @args
371
- env [ 'phony.block' ] = true if @block
372
- @app . call ( env )
369
+ def call ( env )
370
+ env [ 'phony.args' ] ||= [ ]
371
+ env [ 'phony.args' ] << @args
372
+ env [ 'phony.block' ] = true if @block
373
+ @app . call ( env )
374
+ end
373
375
end
374
376
end
375
377
376
378
describe '.middleware' do
377
379
it 'should include middleware arguments from settings' do
378
380
settings = Grape ::Util ::HashStack . new
379
- settings . stub! ( :stack ) . and_return ( [ { :middleware => [ [ PhonyMiddleware , 'abc' , 123 ] ] } ] )
381
+ settings . stub! ( :stack ) . and_return ( [ { :middleware => [ [ ApiSpec :: PhonyMiddleware , 'abc' , 123 ] ] } ] )
380
382
subject . stub! ( :settings ) . and_return ( settings )
381
- subject . middleware . should eql [ [ PhonyMiddleware , 'abc' , 123 ] ]
383
+ subject . middleware . should eql [ [ ApiSpec :: PhonyMiddleware , 'abc' , 123 ] ]
382
384
end
383
385
384
386
it 'should include all middleware from stacked settings' do
385
387
settings = Grape ::Util ::HashStack . new
386
388
settings . stub! ( :stack ) . and_return [
387
- { :middleware => [ [ PhonyMiddleware , 123 ] , [ PhonyMiddleware , 'abc' ] ] } ,
388
- { :middleware => [ [ PhonyMiddleware , 'foo' ] ] }
389
+ { :middleware => [ [ ApiSpec :: PhonyMiddleware , 123 ] , [ ApiSpec :: PhonyMiddleware , 'abc' ] ] } ,
390
+ { :middleware => [ [ ApiSpec :: PhonyMiddleware , 'foo' ] ] }
389
391
]
390
392
subject . stub! ( :settings ) . and_return ( settings )
391
393
392
394
subject . middleware . should eql [
393
- [ PhonyMiddleware , 123 ] ,
394
- [ PhonyMiddleware , 'abc' ] ,
395
- [ PhonyMiddleware , 'foo' ]
395
+ [ ApiSpec :: PhonyMiddleware , 123 ] ,
396
+ [ ApiSpec :: PhonyMiddleware , 'abc' ] ,
397
+ [ ApiSpec :: PhonyMiddleware , 'foo' ]
396
398
]
397
399
end
398
400
end
399
401
400
402
describe '.use' do
401
403
it 'should add middleware' do
402
- subject . use PhonyMiddleware , 123
403
- subject . middleware . should eql [ [ PhonyMiddleware , 123 ] ]
404
+ subject . use ApiSpec :: PhonyMiddleware , 123
405
+ subject . middleware . should eql [ [ ApiSpec :: PhonyMiddleware , 123 ] ]
404
406
end
405
407
406
408
it 'should not show up outside the namespace' do
407
- subject . use PhonyMiddleware , 123
409
+ subject . use ApiSpec :: PhonyMiddleware , 123
408
410
subject . namespace :awesome do
409
- use PhonyMiddleware , 'abc'
410
- middleware . should == [ [ PhonyMiddleware , 123 ] , [ PhonyMiddleware , 'abc' ] ]
411
+ use ApiSpec :: PhonyMiddleware , 'abc'
412
+ middleware . should == [ [ ApiSpec :: PhonyMiddleware , 123 ] , [ ApiSpec :: PhonyMiddleware , 'abc' ] ]
411
413
end
412
414
413
- subject . middleware . should eql [ [ PhonyMiddleware , 123 ] ]
415
+ subject . middleware . should eql [ [ ApiSpec :: PhonyMiddleware , 123 ] ]
414
416
end
415
417
416
418
it 'should actually call the middleware' do
417
- subject . use PhonyMiddleware , 'hello'
419
+ subject . use ApiSpec :: PhonyMiddleware , 'hello'
418
420
subject . get '/' do
419
421
env [ 'phony.args' ] . first . first
420
422
end
@@ -425,13 +427,13 @@ def call(env)
425
427
426
428
it 'should add a block if one is given' do
427
429
block = lambda { }
428
- subject . use PhonyMiddleware , &block
429
- subject . middleware . should eql [ [ PhonyMiddleware , block ] ]
430
+ subject . use ApiSpec :: PhonyMiddleware , &block
431
+ subject . middleware . should eql [ [ ApiSpec :: PhonyMiddleware , block ] ]
430
432
end
431
433
432
434
it 'should use a block if one is given' do
433
435
block = lambda { }
434
- subject . use PhonyMiddleware , &block
436
+ subject . use ApiSpec :: PhonyMiddleware , &block
435
437
subject . get '/' do
436
438
env [ 'phony.block' ] . inspect
437
439
end
@@ -442,7 +444,7 @@ def call(env)
442
444
443
445
it 'should not destroy the middleware settings on multiple runs' do
444
446
block = lambda { }
445
- subject . use PhonyMiddleware , &block
447
+ subject . use ApiSpec :: PhonyMiddleware , &block
446
448
subject . get '/' do
447
449
env [ 'phony.block' ] . inspect
448
450
end
0 commit comments