Module: TrackingNumber

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

Defined Under Namespace

Classes: Base, Info, Unknown

Constant Summary collapse

VERSION =
"1.0.0"

Class Method Summary collapse

Class Method Details

.detect(tracking_number) ⇒ Object



86
87
88
89
90
91
92
93
# File 'lib/tracking_number.rb', line 86

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



95
96
97
98
99
100
101
102
# File 'lib/tracking_number.rb', line 95

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



104
105
106
# File 'lib/tracking_number.rb', line 104

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

.search(body) ⇒ Object



82
83
84
# File 'lib/tracking_number.rb', line 82

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