Sha256: addeb411d125906f5fbbccc18605a78d812228d30192c1679cd43df7b2d592bb
Contents?: true
Size: 592 Bytes
Versions: 2
Compression:
Stored size: 592 Bytes
Contents
# frozen_string_literal: true module NovaposhtaApi module Middlewares class ErrorHandling < Faraday::Response::Middleware SEPARATOR = ', ' def on_complete(env) return if env.response_body['success'] fail(NovaposhtaApi::ResponseError, error_message(env.body)) end def error_message(body) (from_codes(body['errorCodes']) || body['errors']).join(SEPARATOR) end def from_codes(codes = []) return nil if codes.blank? codes.map { |code| I18n.t(code, scope: %i[novaposhta errors]) } end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
novaposhta_api-0.1.2 | lib/novaposhta_api/middlewares/error_handling.rb |
novaposhta_api-0.1.1 | lib/novaposhta_api/middlewares/error_handling.rb |