class JsonApiClient::Errors::ApiError
Attributes
env[R]
Public Class Methods
new(env, msg = nil)
click to toggle source
Calls superclass method
# File lib/json_api_client/errors.rb, line 8 def initialize(env, msg = nil) @env = env # Try to fetch json_api errors from response msg = track_json_api_errors(msg) super msg end
Private Instance Methods
track_json_api_errors(msg)
click to toggle source
Try to fetch json_api errors from response
# File lib/json_api_client/errors.rb, line 19 def track_json_api_errors(msg) return msg unless env.try(:body).kind_of?(Hash) || env.body.key?('errors') errors_msg = env.body['errors'].map { |e| e['title'] }.compact.join('; ').presence return msg unless errors_msg msg.nil? ? errors_msg : "#{msg} (#{errors_msg})" # Just to be sure that it is back compatible rescue StandardError msg end