roda-rest_api 1.0.1 → 1.0.2

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.
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