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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 80700af7c27546f50de0702ce8227eea82d83b2a
4
- data.tar.gz: cc7a25be219939e46dc0d7b6c4df96de2737490a
3
+ metadata.gz: 477458a2ba0a81369f1b993a0be430c0af5f176c
4
+ data.tar.gz: 5e79acdedb3a0440bcc45096ccac42ef906d8415
5
5
  SHA512:
6
- metadata.gz: 08e2fc6253306a690cde289ad1f177fa36bdb96e79f5122c97cb61fae4d01977cb4ea54069094b4ffad6eec81fff48f44dc234fa94daf3e997387646e7bed624
7
- data.tar.gz: 52dd204932782283c9e82d2ba4bb5be34a6a8ed3aa17171aaf6cc8ca67172b29dbbca36efabb4cc111ffdcf255f2fd90523735c5b2c00c3ce71b3a45bdf1173f
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
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Moonrope
2
- VERSION = '1.3.2'
2
+ VERSION = '1.3.3'
3
3
  end
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.2
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: 2014-11-27 00:00:00.000000000 Z
11
+ date: 2015-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json