rack-mount 0.8.0 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -146,14 +146,15 @@ module Rack::Mount
146
146
  env[Prefix::KEY] = matches[:path_info].to_s
147
147
  end
148
148
 
149
- begin
150
- old_params = env[@parameters_key]
151
- env[@parameters_key] = (old_params || {}).merge(params)
149
+ old_params = env[@parameters_key]
150
+ env[@parameters_key] = (old_params || {}).merge(params)
152
151
 
153
- result = route.app.call(env)
154
- return result unless result[1][X_CASCADE] == PASS
155
- ensure
152
+ result = route.app.call(env)
153
+
154
+ if result[1][X_CASCADE] == PASS
156
155
  env[@parameters_key] = old_params
156
+ else
157
+ return result
157
158
  end
158
159
  end
159
160
 
@@ -1,6 +1,6 @@
1
1
  module Regin
2
2
  class Group
3
- attr_reader :expression, :quantifier, :capture, :index, :name
3
+ attr_reader :expression, :quantifier, :lookahead, :capture, :index, :name
4
4
 
5
5
  def initialize(expression, options = {})
6
6
  @quantifier = @index = @name = nil
@@ -8,6 +8,7 @@ module Regin
8
8
  @expression = expression.dup(options)
9
9
 
10
10
  @quantifier = options[:quantifier] if options.key?(:quantifier)
11
+ @lookahead = options[:lookahead] if options.key?(:lookahead)
11
12
  @capture = options[:capture] if options.key?(:capture)
12
13
  @index = options[:index] if options.key?(:index)
13
14
  @name = options[:name] if options.key?(:name)
@@ -21,11 +22,15 @@ module Regin
21
22
  #
22
23
  # A Group is literal if its expression is literal and it has no quantifier.
23
24
  def literal?
24
- quantifier.nil? && expression.literal?
25
+ quantifier.nil? && lookahead.nil? && expression.literal?
25
26
  end
26
27
 
27
28
  def to_s(parent = false)
28
- if !expression.options?
29
+ if lookahead == :postive
30
+ "(?=#{expression.to_s(parent)})#{quantifier}"
31
+ elsif lookahead == :negative
32
+ "(?!#{expression.to_s(parent)})#{quantifier}"
33
+ elsif !expression.options?
29
34
  "(#{capture ? '' : '?:'}#{expression.to_s(parent)})#{quantifier}"
30
35
  elsif capture == false
31
36
  "#{expression.to_s}#{quantifier}"
@@ -30,149 +30,159 @@ end
30
30
  ##### State transition tables begin ###
31
31
 
32
32
  racc_action_table = [
33
- 45, 47, 67, 69, 56, 57, 58, 59, 60, 61,
34
- 62, 63, 64, 66, 68, 55, 53, 83, 46, 48,
35
- 49, 74, 44, 46, 48, 49, 4, 54, 16, 7,
36
- 9, 11, 13, 18, 19, 20, 4, 3, 5, 7,
37
- 9, 11, 13, 46, 48, 49, 4, 3, 5, 7,
38
- 9, 11, 13, 46, 48, 49, 4, 3, 5, 7,
39
- 9, 11, 13, 46, 48, 49, 4, 3, 5, 7,
40
- 9, 11, 13, 26, 29, 27, 4, 3, 5, 7,
41
- 9, 11, 13, 46, 48, 49, 4, 3, 5, 7,
42
- 9, 11, 13, 46, 48, 49, 4, 3, 5, 7,
43
- 9, 11, 13, 77, 21, 70, 21, 3, 5, 39,
44
- 28, 25, 21, 37, 21, 79, 23, 39, 80, 25,
45
- 75, 46, 48, 49, 46, 48, 49, 52, 32, 33,
46
- 85, 35, 87, 41, 36 ]
33
+ 43, 44, 46, 48, 4, 52, 17, 9, 10, 11,
34
+ 13, 30, 28, 19, 20, 21, 4, 6, 7, 9,
35
+ 10, 11, 13, 55, 45, 47, 49, 50, 4, 6,
36
+ 7, 9, 10, 11, 13, 80, 56, 47, 49, 50,
37
+ 4, 6, 7, 9, 10, 11, 13, 83, 47, 49,
38
+ 50, 81, 4, 6, 7, 9, 10, 11, 13, 74,
39
+ 47, 49, 50, 31, 4, 6, 7, 9, 10, 11,
40
+ 13, 47, 49, 50, 32, 85, 4, 6, 7, 9,
41
+ 10, 11, 13, 47, 49, 50, 86, 33, 4, 6,
42
+ 7, 9, 10, 11, 13, 47, 49, 50, 88, 89,
43
+ 4, 6, 7, 9, 10, 11, 13, 47, 49, 50,
44
+ 27, 91, 4, 6, 7, 9, 10, 11, 13, 22,
45
+ 34, 23, 36, 41, 25, 6, 7, 58, 60, 62,
46
+ 63, 64, 65, 66, 67, 68, 69, 70, 57, 59,
47
+ 61, 22, 22, 38, 22, 72, 25, 39, 95, 39,
48
+ 47, 49, 50 ]
47
49
 
48
50
  racc_action_check = [
49
- 29, 29, 36, 36, 36, 36, 36, 36, 36, 36,
50
- 36, 36, 36, 36, 36, 36, 34, 76, 76, 76,
51
- 76, 50, 29, 29, 29, 29, 27, 34, 1, 27,
52
- 27, 27, 27, 1, 1, 1, 45, 27, 27, 45,
53
- 45, 45, 45, 75, 75, 75, 0, 45, 45, 0,
54
- 0, 0, 0, 71, 71, 71, 47, 0, 0, 47,
55
- 47, 47, 47, 78, 78, 78, 13, 47, 47, 13,
56
- 13, 13, 13, 8, 13, 10, 14, 13, 13, 14,
57
- 14, 14, 14, 82, 82, 82, 74, 14, 14, 74,
58
- 74, 74, 74, 44, 44, 44, 28, 74, 74, 28,
59
- 28, 28, 28, 65, 40, 40, 23, 28, 28, 40,
60
- 12, 23, 22, 22, 4, 72, 4, 22, 73, 4,
61
- 51, 51, 51, 51, 83, 83, 83, 30, 18, 19,
62
- 77, 20, 81, 26, 21 ]
51
+ 28, 28, 28, 28, 13, 29, 3, 13, 13, 13,
52
+ 13, 14, 13, 3, 3, 3, 31, 13, 13, 31,
53
+ 31, 31, 31, 35, 28, 28, 28, 28, 0, 31,
54
+ 31, 0, 0, 0, 0, 51, 35, 84, 84, 84,
55
+ 80, 0, 0, 80, 80, 80, 80, 73, 73, 73,
56
+ 73, 71, 1, 80, 80, 1, 1, 1, 1, 42,
57
+ 42, 42, 42, 15, 48, 1, 1, 48, 48, 48,
58
+ 48, 83, 83, 83, 19, 75, 46, 48, 48, 46,
59
+ 46, 46, 46, 87, 87, 87, 76, 20, 30, 46,
60
+ 46, 30, 30, 30, 30, 77, 77, 77, 78, 79,
61
+ 43, 30, 30, 43, 43, 43, 43, 74, 74, 74,
62
+ 12, 81, 44, 43, 43, 44, 44, 44, 44, 4,
63
+ 21, 4, 22, 27, 4, 44, 44, 36, 36, 36,
64
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
65
+ 36, 23, 24, 24, 37, 37, 23, 24, 90, 37,
66
+ 45, 45, 45 ]
63
67
 
64
68
  racc_action_pointer = [
65
- 43, 17, nil, nil, 111, nil, nil, nil, 73, nil,
66
- 73, nil, 108, 63, 73, nil, nil, nil, 117, 118,
67
- 123, 122, 109, 103, nil, nil, 133, 23, 93, -12,
68
- 117, nil, nil, nil, 8, nil, -18, nil, nil, nil,
69
- 101, nil, nil, nil, 58, 33, nil, 53, nil, nil,
70
- 9, 86, nil, nil, nil, nil, nil, nil, nil, nil,
71
- nil, nil, nil, nil, nil, 91, nil, nil, nil, nil,
72
- nil, 18, 105, 108, 83, 8, -17, 126, 28, nil,
73
- nil, 122, 48, 89, nil, nil, nil, nil, nil, nil ]
69
+ 25, 49, nil, -5, 116, nil, nil, nil, nil, nil,
70
+ nil, nil, 110, 1, 9, 61, nil, nil, nil, 63,
71
+ 76, 112, 108, 138, 139, nil, nil, 123, -12, -5,
72
+ 85, 13, nil, nil, nil, 15, 105, 141, nil, nil,
73
+ nil, nil, 23, 97, 109, 113, 73, nil, 61, nil,
74
+ nil, 21, nil, nil, nil, nil, nil, nil, nil, nil,
75
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
76
+ nil, 37, nil, 11, 70, 65, 76, 58, 88, 89,
77
+ 37, 107, nil, 34, 0, nil, nil, 46, nil, nil,
78
+ 138, nil, nil, nil, nil, nil ]
74
79
 
75
80
  racc_action_default = [
76
- -57, -9, -10, -21, -57, -22, -15, -13, -57, -14,
77
- -1, -16, -2, -57, -5, -7, -25, -8, -23, -24,
78
- -57, -57, -57, -57, -33, -34, -57, -57, -57, -57,
79
- -57, -6, -26, -27, -57, -30, -57, -11, -31, -32,
80
- -57, 90, -3, -4, -57, -57, -54, -57, -55, -56,
81
- -57, -57, -17, -29, -28, -49, -38, -39, -40, -41,
82
- -42, -43, -44, -45, -46, -57, -47, -36, -48, -37,
83
- -12, -57, -57, -57, -57, -57, -57, -57, -57, -19,
84
- -20, -57, -57, -57, -53, -35, -50, -18, -51, -52 ]
81
+ -59, -5, -7, -9, -59, -10, -23, -24, -15, -13,
82
+ -14, -16, -59, -59, -1, -2, -6, -27, -8, -25,
83
+ -26, -59, -59, -59, -59, -36, -35, -59, -59, -59,
84
+ -59, -59, -28, -29, -32, -59, -59, -59, -11, -34,
85
+ -33, 96, -59, -59, -59, -59, -59, -56, -59, -57,
86
+ -58, -59, -17, -3, -4, -31, -30, -49, -38, -50,
87
+ -39, -51, -40, -41, -42, -43, -44, -45, -46, -47,
88
+ -48, -59, -12, -59, -59, -59, -59, -59, -59, -59,
89
+ -59, -59, -55, -59, -59, -18, -19, -59, -21, -22,
90
+ -59, -37, -54, -53, -52, -20 ]
85
91
 
86
92
  racc_goto_table = [
87
- 8, 22, 51, 38, 42, 43, 34, 31, 17, 65,
88
- 50, nil, nil, 30, nil, nil, nil, 71, nil, nil,
89
- 40, 38, nil, nil, 76, nil, nil, nil, nil, nil,
93
+ 12, 24, 40, 35, 42, 53, 54, 16, 18, 71,
94
+ 51, nil, nil, 29, nil, 40, nil, nil, 73, nil,
95
+ 37, 77, nil, nil, nil, nil, nil, nil, nil, nil,
90
96
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
91
- nil, nil, nil, nil, 78, 72, nil, 73, 82, 84,
92
- nil, 86, nil, nil, nil, 88, 89, nil, nil, nil,
97
+ nil, nil, nil, 75, 76, nil, 78, nil, 79, 82,
98
+ 84, nil, nil, 87, nil, nil, nil, nil, nil, 92,
99
+ 93, nil, nil, 94, nil, nil, nil, nil, nil, nil,
93
100
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
94
- nil, nil, nil, nil, 81 ]
101
+ 90 ]
95
102
 
96
103
  racc_goto_check = [
97
- 1, 9, 15, 13, 3, 3, 12, 5, 7, 14,
98
- 11, nil, nil, 1, nil, nil, nil, 15, nil, nil,
99
- 9, 13, nil, nil, 15, nil, nil, nil, nil, nil,
104
+ 1, 9, 13, 12, 15, 3, 3, 5, 7, 14,
105
+ 11, nil, nil, 1, nil, 13, nil, nil, 15, nil,
106
+ 9, 15, nil, nil, nil, nil, nil, nil, nil, nil,
100
107
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
101
- nil, nil, nil, nil, 15, 1, nil, 1, 15, 15,
102
- nil, 15, nil, nil, nil, 15, 15, nil, nil, nil,
108
+ nil, nil, nil, 1, 1, nil, 1, nil, 1, 15,
109
+ 15, nil, nil, 15, nil, nil, nil, nil, nil, 15,
110
+ 15, nil, nil, 15, nil, nil, nil, nil, nil, nil,
103
111
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
104
- nil, nil, nil, nil, 1 ]
112
+ 1 ]
105
113
 
106
114
  racc_goto_pointer = [
107
- nil, 0, nil, -23, nil, -7, nil, 7, nil, -3,
108
- nil, -19, -14, -19, -27, -27 ]
115
+ nil, 0, nil, -25, nil, 6, nil, 5, nil, -3,
116
+ nil, -18, -18, -22, -27, -24 ]
109
117
 
110
118
  racc_goto_default = [
111
- nil, nil, 10, 12, 14, 15, 1, nil, 2, nil,
112
- 6, nil, nil, 24, nil, nil ]
119
+ nil, nil, 14, 15, 1, 2, 3, nil, 5, nil,
120
+ 8, nil, nil, 26, nil, nil ]
113
121
 
114
122
  racc_reduce_table = [
115
123
  0, 0, :racc_error,
116
- 1, 39, :_reduce_1,
117
- 1, 39, :_reduce_none,
118
- 3, 40, :_reduce_3,
119
- 3, 40, :_reduce_4,
120
- 1, 41, :_reduce_5,
121
- 2, 42, :_reduce_6,
122
- 1, 42, :_reduce_7,
123
- 2, 43, :_reduce_8,
124
- 1, 43, :_reduce_none,
125
- 1, 44, :_reduce_none,
126
- 3, 44, :_reduce_11,
127
- 4, 44, :_reduce_12,
128
- 1, 44, :_reduce_13,
129
- 1, 44, :_reduce_14,
130
- 1, 44, :_reduce_15,
131
- 1, 44, :_reduce_16,
132
- 3, 46, :_reduce_17,
133
- 6, 46, :_reduce_18,
134
- 5, 46, :_reduce_19,
135
- 5, 46, :_reduce_20,
136
- 1, 48, :_reduce_none,
137
- 1, 48, :_reduce_none,
138
- 1, 45, :_reduce_none,
139
- 1, 45, :_reduce_none,
124
+ 1, 41, :_reduce_1,
125
+ 1, 41, :_reduce_none,
126
+ 3, 42, :_reduce_3,
127
+ 3, 42, :_reduce_4,
128
+ 1, 43, :_reduce_5,
129
+ 2, 44, :_reduce_6,
130
+ 1, 44, :_reduce_7,
131
+ 2, 45, :_reduce_8,
140
132
  1, 45, :_reduce_none,
141
- 2, 45, :_reduce_26,
142
- 2, 45, :_reduce_27,
143
- 3, 45, :_reduce_28,
144
- 2, 50, :_reduce_29,
133
+ 1, 46, :_reduce_none,
134
+ 3, 46, :_reduce_11,
135
+ 4, 46, :_reduce_12,
136
+ 1, 46, :_reduce_13,
137
+ 1, 46, :_reduce_14,
138
+ 1, 46, :_reduce_15,
139
+ 1, 46, :_reduce_16,
140
+ 3, 48, :_reduce_17,
141
+ 5, 48, :_reduce_18,
142
+ 5, 48, :_reduce_19,
143
+ 6, 48, :_reduce_20,
144
+ 5, 48, :_reduce_21,
145
+ 5, 48, :_reduce_22,
146
+ 1, 50, :_reduce_none,
145
147
  1, 50, :_reduce_none,
146
- 2, 47, :_reduce_31,
147
- 2, 47, :_reduce_32,
148
148
  1, 47, :_reduce_none,
149
149
  1, 47, :_reduce_none,
150
- 5, 51, :_reduce_35,
151
- 1, 52, :_reduce_none,
152
- 1, 52, :_reduce_none,
153
- 1, 52, :_reduce_none,
154
- 1, 52, :_reduce_none,
155
- 1, 52, :_reduce_none,
156
- 1, 52, :_reduce_none,
157
- 1, 52, :_reduce_none,
158
- 1, 52, :_reduce_none,
159
- 1, 52, :_reduce_none,
160
- 1, 52, :_reduce_none,
161
- 1, 52, :_reduce_none,
162
- 1, 52, :_reduce_none,
163
- 1, 52, :_reduce_none,
150
+ 1, 47, :_reduce_none,
151
+ 2, 47, :_reduce_28,
152
+ 2, 47, :_reduce_29,
153
+ 3, 47, :_reduce_30,
154
+ 2, 52, :_reduce_31,
164
155
  1, 52, :_reduce_none,
165
- 4, 49, :_reduce_50,
166
- 4, 49, :_reduce_51,
167
- 4, 49, :_reduce_52,
168
- 3, 49, :_reduce_53,
169
- 1, 53, :_reduce_54,
170
- 1, 53, :_reduce_55,
171
- 1, 53, :_reduce_56 ]
172
-
173
- racc_reduce_n = 57
174
-
175
- racc_shift_n = 90
156
+ 2, 49, :_reduce_33,
157
+ 2, 49, :_reduce_34,
158
+ 1, 49, :_reduce_none,
159
+ 1, 49, :_reduce_none,
160
+ 5, 53, :_reduce_37,
161
+ 1, 54, :_reduce_none,
162
+ 1, 54, :_reduce_none,
163
+ 1, 54, :_reduce_none,
164
+ 1, 54, :_reduce_none,
165
+ 1, 54, :_reduce_none,
166
+ 1, 54, :_reduce_none,
167
+ 1, 54, :_reduce_none,
168
+ 1, 54, :_reduce_none,
169
+ 1, 54, :_reduce_none,
170
+ 1, 54, :_reduce_none,
171
+ 1, 54, :_reduce_none,
172
+ 1, 54, :_reduce_none,
173
+ 1, 54, :_reduce_none,
174
+ 1, 54, :_reduce_none,
175
+ 4, 51, :_reduce_52,
176
+ 4, 51, :_reduce_53,
177
+ 4, 51, :_reduce_54,
178
+ 3, 51, :_reduce_55,
179
+ 1, 55, :_reduce_56,
180
+ 1, 55, :_reduce_57,
181
+ 1, 55, :_reduce_58 ]
182
+
183
+ racc_reduce_n = 59
184
+
185
+ racc_shift_n = 96
176
186
 
177
187
  racc_token_table = {
178
188
  false => 0,
@@ -187,34 +197,36 @@ racc_token_table = {
187
197
  :LPAREN => 9,
188
198
  :RPAREN => 10,
189
199
  :QMARK => 11,
190
- :COLON => 12,
191
- :NAME => 13,
192
- :L_ANCHOR => 14,
193
- :R_ANCHOR => 15,
194
- :STAR => 16,
195
- :PLUS => 17,
196
- :LCURLY => 18,
197
- :RCURLY => 19,
198
- "alnum" => 20,
199
- "alpha" => 21,
200
- "ascii" => 22,
201
- "blank" => 23,
202
- "cntrl" => 24,
203
- "digit" => 25,
204
- "graph" => 26,
205
- "lower" => 27,
206
- "print" => 28,
207
- "punct" => 29,
208
- "space" => 30,
209
- "upper" => 31,
210
- "word" => 32,
211
- "xdigit" => 33,
212
- :MINUS => 34,
213
- :MULTILINE => 35,
214
- :IGNORECASE => 36,
215
- :EXTENDED => 37 }
216
-
217
- racc_nt_base = 38
200
+ :EQUAL => 12,
201
+ :BANG => 13,
202
+ :COLON => 14,
203
+ :NAME => 15,
204
+ :L_ANCHOR => 16,
205
+ :R_ANCHOR => 17,
206
+ :STAR => 18,
207
+ :PLUS => 19,
208
+ :LCURLY => 20,
209
+ :RCURLY => 21,
210
+ "alnum" => 22,
211
+ "alpha" => 23,
212
+ "ascii" => 24,
213
+ "blank" => 25,
214
+ "cntrl" => 26,
215
+ "digit" => 27,
216
+ "graph" => 28,
217
+ "lower" => 29,
218
+ "print" => 30,
219
+ "punct" => 31,
220
+ "space" => 32,
221
+ "upper" => 33,
222
+ "word" => 34,
223
+ "xdigit" => 35,
224
+ :MINUS => 36,
225
+ :MULTILINE => 37,
226
+ :IGNORECASE => 38,
227
+ :EXTENDED => 39 }
228
+
229
+ racc_nt_base = 40
218
230
 
219
231
  racc_use_result_var = true
220
232
 
@@ -247,6 +259,8 @@ Racc_token_to_s_table = [
247
259
  "LPAREN",
248
260
  "RPAREN",
249
261
  "QMARK",
262
+ "EQUAL",
263
+ "BANG",
250
264
  "COLON",
251
265
  "NAME",
252
266
  "L_ANCHOR",
@@ -368,33 +382,41 @@ def _reduce_16(val, _values, result)
368
382
  end
369
383
 
370
384
  def _reduce_17(val, _values, result)
371
- result = Group.new(val[1], :index => @capture_index_stack.pop)
372
-
385
+ result = Group.new(val[1], :index => @capture_index_stack.pop)
386
+
373
387
  result
374
388
  end
375
389
 
376
390
  def _reduce_18(val, _values, result)
377
- result = Group.new(val[4], val[2].merge(:capture => false))
378
- @options_stack.pop
379
-
391
+ result = Group.new(val[3], :index => @capture_index_stack.pop, :lookahead => :postive)
392
+
380
393
  result
381
394
  end
382
395
 
383
396
  def _reduce_19(val, _values, result)
384
- result = Group.new(val[3], :capture => false);
385
-
397
+ result = Group.new(val[3], :index => @capture_index_stack.pop, :lookahead => :negative)
398
+
386
399
  result
387
400
  end
388
401
 
389
402
  def _reduce_20(val, _values, result)
390
- result = Group.new(val[3], :name => val[2], :index => @capture_index_stack.pop);
391
-
403
+ result = Group.new(val[4], val[2].merge(:capture => false))
404
+ @options_stack.pop
405
+
392
406
  result
393
407
  end
394
408
 
395
- # reduce 21 omitted
409
+ def _reduce_21(val, _values, result)
410
+ result = Group.new(val[3], :capture => false);
411
+
412
+ result
413
+ end
396
414
 
397
- # reduce 22 omitted
415
+ def _reduce_22(val, _values, result)
416
+ result = Group.new(val[3], :name => val[2], :index => @capture_index_stack.pop);
417
+
418
+ result
419
+ end
398
420
 
399
421
  # reduce 23 omitted
400
422
 
@@ -402,51 +424,51 @@ end
402
424
 
403
425
  # reduce 25 omitted
404
426
 
405
- def _reduce_26(val, _values, result)
427
+ # reduce 26 omitted
428
+
429
+ # reduce 27 omitted
430
+
431
+ def _reduce_28(val, _values, result)
406
432
  result = val.join
407
433
  result
408
434
  end
409
435
 
410
- def _reduce_27(val, _values, result)
436
+ def _reduce_29(val, _values, result)
411
437
  result = val.join
412
438
  result
413
439
  end
414
440
 
415
- def _reduce_28(val, _values, result)
441
+ def _reduce_30(val, _values, result)
416
442
  result = val.join
417
443
  result
418
444
  end
419
445
 
420
- def _reduce_29(val, _values, result)
446
+ def _reduce_31(val, _values, result)
421
447
  result = val.join
422
448
  result
423
449
  end
424
450
 
425
- # reduce 30 omitted
451
+ # reduce 32 omitted
426
452
 
427
- def _reduce_31(val, _values, result)
453
+ def _reduce_33(val, _values, result)
428
454
  result = val.join
429
455
  result
430
456
  end
431
457
 
432
- def _reduce_32(val, _values, result)
458
+ def _reduce_34(val, _values, result)
433
459
  result = val.join
434
460
  result
435
461
  end
436
462
 
437
- # reduce 33 omitted
463
+ # reduce 35 omitted
438
464
 
439
- # reduce 34 omitted
465
+ # reduce 36 omitted
440
466
 
441
- def _reduce_35(val, _values, result)
467
+ def _reduce_37(val, _values, result)
442
468
  result = val.join
443
469
  result
444
470
  end
445
471
 
446
- # reduce 36 omitted
447
-
448
- # reduce 37 omitted
449
-
450
472
  # reduce 38 omitted
451
473
 
452
474
  # reduce 39 omitted
@@ -471,41 +493,45 @@ end
471
493
 
472
494
  # reduce 49 omitted
473
495
 
474
- def _reduce_50(val, _values, result)
475
- @options_stack << result = { val[1] => false, val[2] => false, val[3] => false }
476
-
496
+ # reduce 50 omitted
497
+
498
+ # reduce 51 omitted
499
+
500
+ def _reduce_52(val, _values, result)
501
+ @options_stack << result = { val[1] => false, val[2] => false, val[3] => false }
502
+
477
503
  result
478
504
  end
479
505
 
480
- def _reduce_51(val, _values, result)
481
- @options_stack << result = { val[0] => true, val[2] => false, val[3] => false }
482
-
506
+ def _reduce_53(val, _values, result)
507
+ @options_stack << result = { val[0] => true, val[2] => false, val[3] => false }
508
+
483
509
  result
484
510
  end
485
511
 
486
- def _reduce_52(val, _values, result)
487
- @options_stack << result = { val[0] => true, val[1] => true, val[3] => false }
488
-
512
+ def _reduce_54(val, _values, result)
513
+ @options_stack << result = { val[0] => true, val[1] => true, val[3] => false }
514
+
489
515
  result
490
516
  end
491
517
 
492
- def _reduce_53(val, _values, result)
493
- @options_stack << result = { val[0] => true, val[1] => true, val[2] => true }
494
-
518
+ def _reduce_55(val, _values, result)
519
+ @options_stack << result = { val[0] => true, val[1] => true, val[2] => true }
520
+
495
521
  result
496
522
  end
497
523
 
498
- def _reduce_54(val, _values, result)
524
+ def _reduce_56(val, _values, result)
499
525
  result = :multiline
500
526
  result
501
527
  end
502
528
 
503
- def _reduce_55(val, _values, result)
529
+ def _reduce_57(val, _values, result)
504
530
  result = :ignorecase
505
531
  result
506
532
  end
507
533
 
508
- def _reduce_56(val, _values, result)
534
+ def _reduce_58(val, _values, result)
509
535
  result = :extended
510
536
  result
511
537
  end
@@ -96,6 +96,12 @@ class Regin::Parser < Racc::Parser
96
96
  when (text = @ss.scan(/\./))
97
97
  action { [:DOT, text] }
98
98
 
99
+ when (text = @ss.scan(/\!/))
100
+ action { [:BANG, text] }
101
+
102
+ when (text = @ss.scan(/\=/))
103
+ action { [:EQUAL, text] }
104
+
99
105
  when (text = @ss.scan(/\?/))
100
106
  action { [:QMARK, text] }
101
107
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-mount
3
3
  version: !ruby/object:Gem::Version
4
- hash: 63
4
+ hash: 61
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 8
9
- - 0
10
- version: 0.8.0
9
+ - 1
10
+ version: 0.8.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Joshua Peek
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-05-13 00:00:00 -05:00
18
+ date: 2011-05-18 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency