committee 0.4.4 → 0.4.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.
- data/lib/committee/router.rb +4 -3
- data/lib/committee/test/methods.rb +6 -1
- data/test/router_test.rb +5 -0
- data/test/test_helper.rb +0 -1
- metadata +2 -2
data/lib/committee/router.rb
CHANGED
@@ -4,7 +4,8 @@ module Committee
|
|
4
4
|
@routes = build_routes(schema)
|
5
5
|
end
|
6
6
|
|
7
|
-
def routes?(method, path)
|
7
|
+
def routes?(method, path, options = {})
|
8
|
+
path = path.gsub(/^#{options[:prefix]}/, "") if options[:prefix]
|
8
9
|
if method_routes = @routes[method]
|
9
10
|
method_routes.each do |pattern, link, schema|
|
10
11
|
if path =~ pattern
|
@@ -15,8 +16,8 @@ module Committee
|
|
15
16
|
[nil, nil]
|
16
17
|
end
|
17
18
|
|
18
|
-
def routes_request?(request)
|
19
|
-
routes?(request.request_method, request.path_info)
|
19
|
+
def routes_request?(request, options = {})
|
20
|
+
routes?(request.request_method, request.path_info, options)
|
20
21
|
end
|
21
22
|
|
22
23
|
private
|
@@ -6,7 +6,8 @@ module Committee::Test
|
|
6
6
|
@schema ||= Committee::Schema.new(File.read(schema_path))
|
7
7
|
@router ||= Committee::Router.new(@schema)
|
8
8
|
|
9
|
-
link_schema, type_schema =
|
9
|
+
link_schema, type_schema =
|
10
|
+
@router.routes_request?(last_request, prefix: schema_url_prefix)
|
10
11
|
|
11
12
|
unless link_schema
|
12
13
|
response = "`#{last_request.request_method} #{last_request.path_info}` undefined in schema."
|
@@ -32,5 +33,9 @@ module Committee::Test
|
|
32
33
|
def schema_path
|
33
34
|
raise "Please override #schema_path."
|
34
35
|
end
|
36
|
+
|
37
|
+
def schema_url_prefix
|
38
|
+
nil
|
39
|
+
end
|
35
40
|
end
|
36
41
|
end
|
data/test/router_test.rb
CHANGED
@@ -14,4 +14,9 @@ describe Committee::Router do
|
|
14
14
|
it "builds routes with parameters" do
|
15
15
|
assert @router.routes?("GET", "/apps/123")
|
16
16
|
end
|
17
|
+
|
18
|
+
it "takes a prefix" do
|
19
|
+
# this is a sociopathic example
|
20
|
+
assert @router.routes?("GET", "/kpi/apps/123", prefix: "/kpi")
|
21
|
+
end
|
17
22
|
end
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: committee
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-04-
|
13
|
+
date: 2014-04-23 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: multi_json
|