Sha256: 9ed94c0d7ba5d574ec55749202edcbb4957715a3fbfce4511e60d067bc696c72
Contents?: true
Size: 978 Bytes
Versions: 2
Compression:
Stored size: 978 Bytes
Contents
# frozen_string_literal: true module FriendlyShipping module Services class ShipEngine # Parses the API response for voiding a label. class ParseVoidResponse extend Dry::Monads::Result::Mixin # @param request [Request] the request to attach to the API result # @param response [Response] the response to parse # @return [Success<ApiResult<String>>, Failure<ApiResult<String>>] the success or failure message def self.call(request:, response:) parsed_json = JSON.parse(response.body) approved, message = parsed_json["approved"], parsed_json["message"] if approved Success( ApiResult.new(message, original_request: request, original_response: response) ) else Failure( ApiResult.new(message, original_request: request, original_response: response) ) end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
friendly_shipping-0.10.1 | lib/friendly_shipping/services/ship_engine/parse_void_response.rb |
friendly_shipping-0.10.0 | lib/friendly_shipping/services/ship_engine/parse_void_response.rb |