class PackageTracker::Client
Attributes
credentials[RW]
mode[R]
Public Class Methods
new(credentials={})
click to toggle source
# File lib/package_tracker/client.rb, line 6 def initialize(credentials={}) @credentials = credentials end
Public Instance Methods
production_mode!()
click to toggle source
# File lib/package_tracker/client.rb, line 34 def production_mode! @mode == "production" end
test_mode!()
click to toggle source
# File lib/package_tracker/client.rb, line 30 def test_mode! @mode = "testing" end
testing?()
click to toggle source
# File lib/package_tracker/client.rb, line 26 def testing? @mode == "testing" end
track(tracking_number, carrier=nil)
click to toggle source
# File lib/package_tracker/client.rb, line 10 def track(tracking_number, carrier=nil) # Fed Ex if carrier == :fedex || Carriers::FedEx.match(tracking_number) Carriers::FedEx.track(tracking_number, :credentials => @credentials[:fedex], :testing => testing?) # UPS elsif carrier == :ups || Carriers::UPS.match(tracking_number) Carriers::UPS.track(tracking_number, :credentials => @credentials[:ups], :testing => testing?) # USPS elsif carrier == :usps || Carriers::USPS.match(tracking_number) raise CarrierNotFoundError, "Need to impliment USPS" # DHL else raise CarrierNotFoundError end end