Module: TrackingNumber

Defined in:
lib/tracking_number.rb,
lib/tracking_number/dhl.rb,
lib/tracking_number/ups.rb,
lib/tracking_number/base.rb,
lib/tracking_number/usps.rb,
lib/tracking_number/fedex.rb,
lib/tracking_number/ontrac.rb,
lib/tracking_number/version.rb

Defined Under Namespace

Classes: Base, DHL, DHLExpress, DHLExpressAir, FedEx, FedExExpress, FedExGround, FedExGround18, FedExGround96, FedExSmartPost, OnTrac, UPS, UPSTest, USPS, USPS13, USPS20, USPS91, USPSTest, Unknown

Constant Summary collapse

TYPES =
[UPS, UPSTest, FedExExpress, FedExSmartPost, FedExGround, FedExGround18, FedExGround96, USPS91, USPS20, USPS13, USPSTest, DHLExpress, DHLExpressAir, OnTrac]
VERSION =
"0.10.3"

Class Method Summary collapse

Class Method Details

.detect(tracking_number) ⇒ Object



24
25
26
27
28
29
30
31
# File 'lib/tracking_number.rb', line 24

def self.detect(tracking_number)
  tn = nil
  for test_klass in (TYPES+[Unknown])
    tn = test_klass.new(tracking_number)
    break if tn.valid?
  end
  return tn
end

.new(tracking_number) ⇒ Object



33
34
35
# File 'lib/tracking_number.rb', line 33

def self.new(tracking_number)
  self.detect(tracking_number)
end

.search(body) ⇒ Object



20
21
22
# File 'lib/tracking_number.rb', line 20

def self.search(body)
  TYPES.collect { |type| type.search(body) }.flatten
end