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)
-
+ (Array, Regexp) package_id_matchers
Private
An Array of Regexp that matches valid 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
+ (Array, 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.
An Array of Regexp that matches valid 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 |