webrick-route_servlet 1.2.6 → 1.2.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +7 -2
- data/example/simple_action_servlet.rb +7 -6
- data/lib/webrick/route_servlet.rb +13 -8
- data/lib/webrick/route_servlet/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 59db5b865d282727f1700c6b59f5bea65eb075fc
|
4
|
+
data.tar.gz: 965f884f6e5ecf9f824a924f93a35137872439ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 70b4ecbe5bddc1d6e2ea08aff9f83f82e30e3d1833366d42208105ece4140fe249dae40de6bed1da1224328dd85ef12b089eb0b4b0ffdc00355b63700e7e9d59
|
7
|
+
data.tar.gz: 65b60c7c7f21c2672d995ad96c12d36e245a590e9886b0ffd43962fde8b3081affaec5e71dde9e275e816adffa4e40ec1392961283c9efe6fc0bc5f8f7a4aa55
|
data/README.md
CHANGED
@@ -77,9 +77,14 @@ constraints
|
|
77
77
|
end
|
78
78
|
end
|
79
79
|
|
80
|
-
only
|
80
|
+
only
|
81
81
|
|
82
|
-
s.resources "/photo", PhotoServlet, :only =>
|
82
|
+
s.resources "/photo", PhotoServlet, :only => :index
|
83
|
+
s.resources "/photo", PhotoServlet, :only => [:index, :show]
|
84
|
+
|
85
|
+
except
|
86
|
+
|
87
|
+
s.resources "/photo", PhotoServlet, :except => :index
|
83
88
|
s.resources "/photo", PhotoServlet, :except => [:index, :show]
|
84
89
|
|
85
90
|
defaults
|
@@ -15,17 +15,18 @@ class IndexServlet < WEBrick::HTTPServlet::AbstractServlet
|
|
15
15
|
res.body += create_link("GET", "/users/new", "new")
|
16
16
|
res.body += create_link("GET", "/users/1/edit", "edit")
|
17
17
|
res.body += create_link("GET", "/users/1", "show")
|
18
|
-
res.body += create_link("PUT", "/users/1", "update"
|
19
|
-
res.body += create_link("DELETE", "/users/1", "destroy"
|
18
|
+
res.body += create_link("PUT", "/users/1", "update")
|
19
|
+
res.body += create_link("DELETE", "/users/1", "destroy")
|
20
20
|
res.body += "<br />"
|
21
21
|
res.body += "<h4>NotFoundServlet:</h4>"
|
22
22
|
res.body += "<a href='/no/match/path/route'>/no/match/path/route</a><br />"
|
23
23
|
end
|
24
24
|
|
25
|
-
def create_link(method, path, action
|
26
|
-
|
27
|
-
"<form action='#{path}' method='#{
|
28
|
-
"<input type='
|
25
|
+
def create_link(method, path, action)
|
26
|
+
method2 = method=="GET" ? "GET" : "POST"
|
27
|
+
"<form action='#{path}' method='#{method2}'>\n" +
|
28
|
+
"<input type='hidden' name='_method' value='#{method}' />\n" +
|
29
|
+
"<input type='submit' value='#{method} #{path} => #{action}' />\n" +
|
29
30
|
"</form>\n"
|
30
31
|
end
|
31
32
|
end
|
@@ -41,8 +41,13 @@ module WEBrick
|
|
41
41
|
end
|
42
42
|
|
43
43
|
def select_route(req)
|
44
|
+
req_method = req.request_method.to_sym
|
45
|
+
if req.query["_method"]
|
46
|
+
req_method = req.query["_method"].upcase.to_sym
|
47
|
+
end
|
48
|
+
|
44
49
|
self.class.routes.each do |method, re, servlet, servlet_options, request_options|
|
45
|
-
if method==:* || method==
|
50
|
+
if method==:* || method==req_method
|
46
51
|
md = re.match(req.path_info)
|
47
52
|
if md
|
48
53
|
# path params
|
@@ -108,7 +113,7 @@ module WEBrick
|
|
108
113
|
:edit => [:get, "#{re}/:id/edit(.:format)"],
|
109
114
|
:show => [:get, "#{re}/:id(.:format)"],
|
110
115
|
:update => [:put, "#{re}/:id(.:format)"],
|
111
|
-
:
|
116
|
+
:destroy => [:delete, "#{re}/:id(.:format)"],
|
112
117
|
}
|
113
118
|
_select_rest_actions(actions, request_options)
|
114
119
|
|
@@ -121,12 +126,12 @@ module WEBrick
|
|
121
126
|
re = re.to_s.sub(%r#/$#, "")
|
122
127
|
|
123
128
|
actions = {
|
124
|
-
:create
|
125
|
-
:new
|
126
|
-
:edit
|
127
|
-
:show
|
128
|
-
:update
|
129
|
-
:
|
129
|
+
:create => [:post, "#{re}(.:format)"],
|
130
|
+
:new => [:get, "#{re}/new(.:format)"],
|
131
|
+
:edit => [:get, "#{re}/edit(.:format)"],
|
132
|
+
:show => [:get, "#{re}(.:format)"],
|
133
|
+
:update => [:put, "#{re}(.:format)"],
|
134
|
+
:destroy => [:delete, "#{re}(.:format)"],
|
130
135
|
}
|
131
136
|
_select_rest_actions(actions, request_options)
|
132
137
|
|