Commit 6b50511ede002bf8bead925786826dfa0b1ab53d
1 parent
f0260209
Exists in
api_tasks
and in
4 other branches
API response with error block
Showing
1 changed file
with
21 additions
and
0 deletions
Show diff stats
lib/noosfero/api/entity.rb
1 | 1 | class Noosfero::API::Entity < Grape::Entity |
2 | 2 | |
3 | + def initialize(object, options = {}) | |
4 | + object = nil if object.is_a? Exception | |
5 | + super object, options | |
6 | + end | |
7 | + | |
8 | + def self.represent(objects, options = {}) | |
9 | + if options[:is_inner_data] | |
10 | + super objects, options | |
11 | + else | |
12 | + data = super objects, options.merge(is_inner_data: true) | |
13 | + if objects.is_a? Exception | |
14 | + data.merge ok: false, error: { | |
15 | + type: objects.class.name, | |
16 | + message: objects.message | |
17 | + } | |
18 | + else | |
19 | + data.merge ok: true, error: { type: 'Success', message: '' } | |
20 | + end | |
21 | + end | |
22 | + end | |
23 | + | |
3 | 24 | def self.fields_condition(fields) |
4 | 25 | lambda do |object, options| |
5 | 26 | return true if options[:fields].blank? | ... | ... |