http_router 0.6.3 → 0.6.4
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.
- data/Rakefile +2 -2
- data/lib/http_router/node/free_regex.rb +1 -0
- data/lib/http_router/regex_route.rb +2 -1
- data/lib/http_router/version.rb +1 -1
- data/test/test_variable.rb +8 -0
- metadata +2 -13
data/Rakefile
CHANGED
@@ -6,8 +6,8 @@ desc "Run tests"
|
|
6
6
|
task :test do
|
7
7
|
$: << 'lib'
|
8
8
|
require 'http_router'
|
9
|
-
require 'test/helper'
|
10
|
-
Dir['test/**/test_*.rb'].each { |test| require test }
|
9
|
+
require './test/helper'
|
10
|
+
Dir['./test/**/test_*.rb'].each { |test| require test }
|
11
11
|
end
|
12
12
|
|
13
13
|
require 'rake/rdoctask'
|
@@ -11,6 +11,7 @@ class HttpRouter
|
|
11
11
|
if match = @matcher.match(whole_path)
|
12
12
|
request = request.clone
|
13
13
|
request.extra_env['router.regex_match'] = match
|
14
|
+
match.names.size.times{|i| request.params << match[i + 1]} if match.respond_to?(:names) && match.names
|
14
15
|
super
|
15
16
|
end
|
16
17
|
end
|
@@ -5,7 +5,8 @@ class HttpRouter
|
|
5
5
|
end
|
6
6
|
|
7
7
|
def compile
|
8
|
-
|
8
|
+
@param_names = @original_path.respond_to?(:names) ? @original_path.names.map(&:to_sym) : []
|
9
|
+
add_non_path_to_tree(@router.root.add_free_match(@original_path), path, @param_names)
|
9
10
|
@compiled = true
|
10
11
|
end
|
11
12
|
|
data/lib/http_router/version.rb
CHANGED
data/test/test_variable.rb
CHANGED
@@ -110,4 +110,12 @@ class TestVariable < MiniTest::Unit::TestCase
|
|
110
110
|
assert_route with_regex, '/common/123', {:common_variable => 'common', :matched => '123'}
|
111
111
|
assert_route without_regex, '/common/other', {:common_variable => 'common', :unmatched => 'other'}
|
112
112
|
end
|
113
|
+
|
114
|
+
if //.respond_to?(:names)
|
115
|
+
eval "
|
116
|
+
def test_match_path_with_groups
|
117
|
+
r = router { add(%r{/(?<year>\\d{4})/(?<month>\\d{2})/(?<day>\\d{2})/?}) }
|
118
|
+
assert_route r, '/1234/23/56', {:year => '1234', :month => '23', :day => '56'}
|
119
|
+
end"
|
120
|
+
end
|
113
121
|
end
|
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: http_router
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 1
|
5
4
|
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 0
|
8
7
|
- 6
|
9
|
-
-
|
10
|
-
version: 0.6.
|
8
|
+
- 4
|
9
|
+
version: 0.6.4
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Joshua Hull
|
@@ -26,7 +25,6 @@ dependencies:
|
|
26
25
|
requirements:
|
27
26
|
- - ">="
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 23
|
30
28
|
segments:
|
31
29
|
- 1
|
32
30
|
- 0
|
@@ -42,7 +40,6 @@ dependencies:
|
|
42
40
|
requirements:
|
43
41
|
- - ~>
|
44
42
|
- !ruby/object:Gem::Version
|
45
|
-
hash: 21
|
46
43
|
segments:
|
47
44
|
- 0
|
48
45
|
- 2
|
@@ -58,7 +55,6 @@ dependencies:
|
|
58
55
|
requirements:
|
59
56
|
- - ~>
|
60
57
|
- !ruby/object:Gem::Version
|
61
|
-
hash: 15
|
62
58
|
segments:
|
63
59
|
- 2
|
64
60
|
- 0
|
@@ -74,7 +70,6 @@ dependencies:
|
|
74
70
|
requirements:
|
75
71
|
- - ">="
|
76
72
|
- !ruby/object:Gem::Version
|
77
|
-
hash: 3
|
78
73
|
segments:
|
79
74
|
- 0
|
80
75
|
version: "0"
|
@@ -88,7 +83,6 @@ dependencies:
|
|
88
83
|
requirements:
|
89
84
|
- - ">="
|
90
85
|
- !ruby/object:Gem::Version
|
91
|
-
hash: 3
|
92
86
|
segments:
|
93
87
|
- 0
|
94
88
|
version: "0"
|
@@ -102,7 +96,6 @@ dependencies:
|
|
102
96
|
requirements:
|
103
97
|
- - ">="
|
104
98
|
- !ruby/object:Gem::Version
|
105
|
-
hash: 3
|
106
99
|
segments:
|
107
100
|
- 0
|
108
101
|
version: "0"
|
@@ -116,7 +109,6 @@ dependencies:
|
|
116
109
|
requirements:
|
117
110
|
- - ">="
|
118
111
|
- !ruby/object:Gem::Version
|
119
|
-
hash: 3
|
120
112
|
segments:
|
121
113
|
- 0
|
122
114
|
version: "0"
|
@@ -130,7 +122,6 @@ dependencies:
|
|
130
122
|
requirements:
|
131
123
|
- - ~>
|
132
124
|
- !ruby/object:Gem::Version
|
133
|
-
hash: 23
|
134
125
|
segments:
|
135
126
|
- 1
|
136
127
|
- 0
|
@@ -217,7 +208,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
217
208
|
requirements:
|
218
209
|
- - ">="
|
219
210
|
- !ruby/object:Gem::Version
|
220
|
-
hash: 3
|
221
211
|
segments:
|
222
212
|
- 0
|
223
213
|
version: "0"
|
@@ -226,7 +216,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
226
216
|
requirements:
|
227
217
|
- - ">="
|
228
218
|
- !ruby/object:Gem::Version
|
229
|
-
hash: 3
|
230
219
|
segments:
|
231
220
|
- 0
|
232
221
|
version: "0"
|