moonrope 1.3.2 → 1.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/moonrope/base.rb +15 -0
- data/lib/moonrope/param_set.rb +10 -0
- data/lib/moonrope/rack_middleware.rb +5 -0
- data/lib/moonrope/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 477458a2ba0a81369f1b993a0be430c0af5f176c
|
4
|
+
data.tar.gz: 5e79acdedb3a0440bcc45096ccac42ef906d8415
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a1749b675d587ee6913c4fca9c69fb98123c3bf64e7f2102a4136d63a9b0a2b60488f471cd356461094e26d84e679e69dc0d4740b8be5b531fdae0b4c876d6ed
|
7
|
+
data.tar.gz: 88895948f31a23a3db44b8d74ac9663379807d9553ded73d0e7f31afecb0b037c92f7d48b138b6da19be1f219f2a599bfa938febcdfca657feb4e64f85b1be9b
|
data/lib/moonrope/base.rb
CHANGED
@@ -181,5 +181,20 @@ module Moonrope
|
|
181
181
|
self.external_errors[error_class] = block
|
182
182
|
end
|
183
183
|
|
184
|
+
#
|
185
|
+
# Set a block which will be executed whenever an error occurs when running
|
186
|
+
# an API method
|
187
|
+
#
|
188
|
+
def register_request_error_callback(&block)
|
189
|
+
request_error_callbacks << block
|
190
|
+
end
|
191
|
+
|
192
|
+
#
|
193
|
+
# Return an array of request errors
|
194
|
+
#
|
195
|
+
def request_error_callbacks
|
196
|
+
@request_error_callbacks ||= []
|
197
|
+
end
|
198
|
+
|
184
199
|
end
|
185
200
|
end
|
data/lib/moonrope/param_set.rb
CHANGED
@@ -11,6 +11,16 @@ module Moonrope
|
|
11
11
|
@defaults = {}
|
12
12
|
end
|
13
13
|
|
14
|
+
#
|
15
|
+
# Return the params as a ruby hash
|
16
|
+
#
|
17
|
+
def _as_hash
|
18
|
+
@defaults.merge(@params).inject({}) do |hash, (k, v)|
|
19
|
+
hash[k.to_s] = v
|
20
|
+
hash
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
14
24
|
#
|
15
25
|
# Return the value for the given key
|
16
26
|
#
|
@@ -89,6 +89,11 @@ module Moonrope
|
|
89
89
|
|
90
90
|
response = {:status => 'internal-server-error'}
|
91
91
|
|
92
|
+
# Call any request errors which have been registered on the base
|
93
|
+
@base.request_error_callbacks.each do |callback|
|
94
|
+
callback.call(request, e)
|
95
|
+
end
|
96
|
+
|
92
97
|
# If in development, return more details about the exception which was raised.
|
93
98
|
if @base.environment == 'development'
|
94
99
|
response[:error] = e.class.to_s
|
data/lib/moonrope/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: moonrope
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Cooke
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-03-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|