Class: Trackerific::UPS
- Inherits:
-
Base
- Object
- Base
- Trackerific::UPS
- Includes:
- HTTParty
- Defined in:
- lib/trackerific/services/ups.rb
Overview
Provides package tracking support for UPS.
Class Method Summary (collapse)
-
+ (Regexp) package_id_matchers
Private
A regex that matches valid package identifiers for UPS package ids.
-
+ (Array) required_options
Private
The required options for tracking a UPS package.
Instance Method Summary (collapse)
-
- (Trackerific::Details) track_package(package_id)
Tracks a UPS package.
Methods inherited from Base
Constructor Details
This class inherits a constructor from Trackerific::Base
Class Method Details
+ (Regexp) package_id_matchers
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
A regex that matches valid package identifiers for UPS package ids
43 44 45 |
# File 'lib/trackerific/services/ups.rb', line 43 def self.package_id_matchers [ /^.Z/, /^[HK].{10}$/ ] end |
+ (Array) required_options
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
The required options for tracking a UPS package
49 50 51 |
# File 'lib/trackerific/services/ups.rb', line 49 def self. [:key, :user_id, :password] end |
Instance Method Details
- (Trackerific::Details) track_package(package_id)
Tracks a UPS package
25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/trackerific/services/ups.rb', line 25 def track_package(package_id) super # connect to UPS via HTTParty http_response = self.class.post('/Track', :body => build_xml_request) # throw any HTTP errors http_response.error! unless http_response.code == 200 # Check the response for errors, return a Trackerific::Error, or parse # the response from UPS and return a Trackerific::Details case http_response['TrackResponse']['Response']['ResponseStatusCode'] when "0" then raise Trackerific::Error, parse_error_response(http_response) when "1" then return parse_success_response(http_response) else raise Trackerific::Error, "Invalid response code returned from server." end end |