Module: TrackingNumber

Defined in:
lib/tracking_number.rb,
lib/tracking_number/base.rb,
lib/tracking_number/info.rb,
lib/tracking_number/loader.rb,
lib/tracking_number/unknown.rb,
lib/tracking_number/version.rb,
lib/tracking_number/checksum_validations.rb

Defined Under Namespace

Modules: ChecksumValidations, Loader Classes: Base, Info, Unknown

Constant Summary collapse

VERSION =
"1.0.7"

Class Method Summary collapse

Class Method Details

.detect(tracking_number) ⇒ Object



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

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

.detect_all(tracking_number) ⇒ Object



32
33
34
35
36
37
38
39
# File 'lib/tracking_number.rb', line 32

def self.detect_all(tracking_number)
  matches = []
  for test_klass in (TYPES+[Unknown])
    tn = test_klass.new(tracking_number)
    matches << tn if tn.valid?
  end
  return matches
end

.new(tracking_number) ⇒ Object



41
42
43
# File 'lib/tracking_number.rb', line 41

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

.search(body) ⇒ Object



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

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