5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/freight_kit/helpers/trackable.rb', line 5
def find_tracking_info(tracking_number, *)
request = build_tracking_request(tracking_number)
begin
response = commit(:track, request) if method(:commit).parameters.count == 2
response ||= commit(request)
rescue StandardError => e
return TrackingResponse.new(error: e, request:)
end
return response if response.is_a?(TrackingResponse)
if method(:parse_tracking_response).parameters.count == 1
parse_tracking_response(response)
else
parse_tracking_response(tracking_number, response:)
end
end
|