angus 0.0.5 → 0.0.6

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.
@@ -4,7 +4,6 @@ require_relative 'response'
4
4
  require_relative 'responses'
5
5
  require_relative 'middleware/exception_handler'
6
6
  require_relative 'exceptions'
7
- MiddlewareNotFound
8
7
 
9
8
  module Angus
10
9
  class RequestHandler
@@ -90,5 +89,11 @@ module Angus
90
89
  @middleware.insert(index + 1, [middleware, args, block])
91
90
  end
92
91
 
92
+ def disuse(middleware)
93
+ index = @middleware.map(&:first).index(middleware) or raise MiddlewareNotFound.new(middleware)
94
+
95
+ @middleware.delete_at(index)
96
+ end
97
+
93
98
  end
94
- end
99
+ end
data/lib/angus/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Angus
2
- VERSION = '0.0.5'
2
+ VERSION = '0.0.6'
3
3
  end
@@ -97,4 +97,33 @@ describe Angus::RequestHandler, { :work_dir => work_dir } do
97
97
 
98
98
  end
99
99
 
100
+ describe '#disuse' do
101
+
102
+ let(:other_middleware) { Struct.new(:app) }
103
+
104
+ it 'removes the given class from the middleware' do
105
+ handler.disuse(Angus::Middleware::ExceptionHandler)
106
+
107
+ handler.middleware.map(&:first).should_not include(Angus::Middleware::ExceptionHandler)
108
+ end
109
+
110
+ it 'removes only given class from the middleware' do
111
+ handler.use(other_middleware)
112
+
113
+ handler.disuse(Angus::Middleware::ExceptionHandler)
114
+
115
+ handler.middleware.map(&:first).should_not include(Angus::Middleware::ExceptionHandler)
116
+ handler.middleware.map(&:first).should include(other_middleware)
117
+ end
118
+
119
+ context 'when the given class is not present in the middleware' do
120
+ it 'raises an MiddlewareNotFound error' do
121
+ expect {
122
+ handler.disuse(Angus::Middleware)
123
+ }.to raise_error(MiddlewareNotFound)
124
+ end
125
+ end
126
+
127
+ end
128
+
100
129
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: angus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-11-29 00:00:00.000000000 Z
14
+ date: 2013-12-02 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: thor