From c0846a50daf955e0fbefb755b0485f9c3f8bae7a Mon Sep 17 00:00:00 2001 From: Anton Chuchkalov Date: Fri, 27 Nov 2015 13:49:41 +0300 Subject: [PATCH] proper error message --- devops-service/exceptions/invalid_record.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/devops-service/exceptions/invalid_record.rb b/devops-service/exceptions/invalid_record.rb index 48d3750..89fd18d 100644 --- a/devops-service/exceptions/invalid_record.rb +++ b/devops-service/exceptions/invalid_record.rb @@ -1,6 +1,10 @@ require_relative "devops_error" class InvalidRecord < ::Devops::Exception::DevopsError + # message could be a String or a hash like + # { + # error_data: [{:key=>:provider, :message=>"Value can not be undefined"}] + # } def initialize msg if msg.is_a?(String) super(msg) @@ -9,6 +13,17 @@ class InvalidRecord < ::Devops::Exception::DevopsError end end + def message + if @object + messages = @object[:error_data].map do |error_item| + "#{error_item[:key]}: #{error_item[:message]}" + end + "Following errors occured: \n#{messages.join('\n')}" + else + super + end + end + def http_status 400 end