rack-mount 0.8.0 → 0.8.1

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.
@@ -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