Commit 6b50511ede002bf8bead925786826dfa0b1ab53d

Authored by Aurélio A. Heckert
1 parent f0260209

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