Module: Stalkr

Defined in:
lib/stalkr.rb,
lib/stalkr/dhl.rb,
lib/stalkr/ups.rb,
lib/stalkr/base.rb,
lib/stalkr/usps.rb,
lib/stalkr/error.rb,
lib/stalkr/fedex.rb,
lib/stalkr/result.rb,
lib/stalkr/china_post.rb

Defined Under Namespace

Classes: Base, ChinaPost, DHL, Error, FEDEX, Result, UPS, USPS

Constant Summary collapse

UNKNOWN =
:unknown
DELIVERED =
:delivered
IN_TRANSIT =
:in_transit

Class Method Summary collapse

Class Method Details

.shippersObject



40
41
42
# File 'lib/stalkr.rb', line 40

def self.shippers
    return [ Stalkr::UPS, Stalkr::USPS, Stalkr::FEDEX ]
end

.track(id) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/stalkr.rb', line 44

def self.track(id)
    shipper = nil
    if id =~ /\d{22}/ then
        shipper = Stalkr::USPS
    elsif id =~ /^1Z/ then
        shipper = Stalkr::UPS
    elsif id =~ /\d{20}/ or id =~ /\d{15}/ then
        shipper = Stalkr::FEDEX
    end
    raise 'Unknown shipper code' if shipper.nil?
    return shipper.new.track(id)
end