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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/roda/plugins/rest_api.rb +11 -7
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7f98977e20fcce7bdf02b180031b03f0cbebfa08
4
- data.tar.gz: c5290bbd379c6dbd9fc9ea229b918a0e5a28e4f7
3
+ metadata.gz: cb91344e3d45d0cfa26eaf65ef9a5c46713ff062
4
+ data.tar.gz: 3e08bf9d22b31929c910404b65543766a1d9a3fd
5
5
  SHA512:
6
- metadata.gz: eade3e6d217f63b668a10dd1c9625435a644f3b21fbb09979854ce0ebbd988bb6752f78edba4d421f699a26aa2ec47be0c8b391aa259c9198237b148ae163bc0
7
- data.tar.gz: d284cc3570aa55caf3ac9605919169a8a0e1d00daf69d851b0a067bc92c8fd9423baa9a966551d01b4816f7a38fb6c63776ee796191197415525cc20b1a18dcc
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
- args = method === :save ? JSON.parse(@request.body) : @request.GET
62
- args.merge!(@primary_key => id) if id
63
- self.send(method).call(args) rescue @request.response.status = 404
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
- response.status = 201
104
- block.call(*captures) if block
105
- end
106
- end
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)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roda-rest_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michel Benevento