roda-rest_api 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/roda/plugins/rest_api.rb +11 -7
- 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: cb91344e3d45d0cfa26eaf65ef9a5c46713ff062
|
4
|
+
data.tar.gz: 3e08bf9d22b31929c910404b65543766a1d9a3fd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 79250f2268744cc6710d6279b81508829d7ce1c7960ec3fcd7ee77153072f57a0db8bc16c2b31efce3dee96365d4e49e89ffd3e9d1dafba1b320404215c16978
|
7
|
+
data.tar.gz: 02e0425522e18ec0a0fa330fa1dd35a57f4ce0d7308bd534ded8e370ab79c758dad19bdd7397c95f91a3063e551f01bdfa0b05fd94273880b5f6c7b9dbf5fe43
|
@@ -58,9 +58,13 @@ class Roda
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def perform(method, id = nil)
|
61
|
-
|
62
|
-
|
63
|
-
|
61
|
+
begin
|
62
|
+
args = method === :save ? JSON.parse(@request.body) : @request.GET
|
63
|
+
args.merge!(@primary_key => id) if id
|
64
|
+
self.send(method).call(args)
|
65
|
+
rescue StandardError => e
|
66
|
+
@request.response.status = method === :save ? 422 : 404
|
67
|
+
end
|
64
68
|
end
|
65
69
|
|
66
70
|
end
|
@@ -100,10 +104,10 @@ class Roda
|
|
100
104
|
def create(options={}, &block)
|
101
105
|
block ||= ->{@resource.perform(:save)}
|
102
106
|
post(["", true], options) do
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
+
response.status = 201
|
108
|
+
block.call(*captures) if block
|
109
|
+
end
|
110
|
+
end
|
107
111
|
|
108
112
|
def update(options={}, &block)
|
109
113
|
block ||= default_block(:save)
|