Sha256: cb089f2835c4326f927ccc6d5b450e32035f8973cba1cc207efda7b29e1edc6a
Contents?: true
Size: 764 Bytes
Versions: 1
Compression:
Stored size: 764 Bytes
Contents
# frozen_string_literal: true require 'friendly_shipping/api_error' module FriendlyShipping module Services class UpsJson class ApiError < FriendlyShipping::ApiError # @param [RestClient::Exception] cause def initialize(cause) super(cause, parse_message(cause)) end private # @param [RestClient::Exception] error # @return [String] def parse_message(error) return error.message unless error.response parsed_json = JSON.parse(error.response.body) parsed_json.dig("response", "errors")&.map { |response_error| response_error["message"] }&.join(", ") rescue JSON::ParserError, KeyError => _e nil end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
friendly_shipping-0.9.0 | lib/friendly_shipping/services/ups_json/api_error.rb |