tracking_number 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,42 @@
1
+ # rcov generated
2
+ coverage
3
+
4
+ # rdoc generated
5
+ rdoc
6
+
7
+ # yard generated
8
+ doc
9
+ .yardoc
10
+
11
+ # bundler
12
+ .bundle
13
+
14
+ # jeweler generated
15
+ pkg
16
+
17
+ # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
18
+ #
19
+ # * Create a file at ~/.gitignore
20
+ # * Include files you want ignored
21
+ # * Run: git config --global core.excludesfile ~/.gitignore
22
+ #
23
+ # After doing this, these files will be ignored in all your git projects,
24
+ # saving you from having to 'pollute' every project you touch with them
25
+ #
26
+ # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
27
+ #
28
+ # For MacOS:
29
+ #
30
+ #.DS_Store
31
+ #
32
+ # For TextMate
33
+ #*.tmproj
34
+ #tmtags
35
+ #
36
+ # For emacs:
37
+ #*~
38
+ #\#*
39
+ #.\#*
40
+ #
41
+ # For vim:
42
+ #*.swp
data/Gemfile CHANGED
@@ -1,13 +1,3 @@
1
1
  source "http://rubygems.org"
2
- # Add dependencies required to use your gem here.
3
- # Example:
4
- # gem "activesupport", ">= 2.3.5"
5
-
6
- # Add dependencies to develop your gem here.
7
- # Include everything needed to run rake, tests, features, etc.
8
- group :development do
9
- gem "shoulda", ">= 0"
10
- gem "bundler", "~> 1.0.0"
11
- gem "jeweler", "~> 1.5.2"
12
- gem "rcov", ">= 0"
13
- end
2
+ # Specify your gem's dependencies in tracking_number.gemspec
3
+ gemspec
data/Gemfile.lock CHANGED
@@ -1,12 +1,11 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ tracking_number (0.4.0)
5
+
1
6
  GEM
2
7
  remote: http://rubygems.org/
3
8
  specs:
4
- git (1.2.5)
5
- jeweler (1.5.2)
6
- bundler (~> 1.0.0)
7
- git (>= 1.2.5)
8
- rake
9
- rake (0.8.7)
10
9
  rcov (0.9.9)
11
10
  shoulda (2.11.3)
12
11
 
@@ -14,7 +13,6 @@ PLATFORMS
14
13
  ruby
15
14
 
16
15
  DEPENDENCIES
17
- bundler (~> 1.0.0)
18
- jeweler (~> 1.5.2)
19
16
  rcov
20
17
  shoulda
18
+ tracking_number!
data/Rakefile CHANGED
@@ -1,42 +1,31 @@
1
1
  require 'rubygems'
2
2
  require 'bundler'
3
- begin
4
- Bundler.setup(:default, :development)
5
- rescue Bundler::BundlerError => e
6
- $stderr.puts e.message
7
- $stderr.puts "Run `bundle install` to install missing gems"
8
- exit e.status_code
9
- end
10
- require 'rake'
3
+ Bundler::GemHelper.install_tasks
11
4
 
12
- require 'jeweler'
13
- Jeweler::Tasks.new do |gem|
14
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
15
- gem.name = "tracking_number"
16
- gem.homepage = "http://github.com/jkeen/tracking_number"
17
- gem.license = "MIT"
18
- gem.summary = %Q{Identifies valid tracking numbers}
19
- gem.description = %Q{Match tracking numbers to a service, and search blocks of text and pull out valid tracking numbers.}
20
- gem.email = "jeff@keen.me"
21
- gem.authors = ["Jeff Keen"]
22
- # Include your dependencies below. Runtime dependencies are required when using your gem,
23
- # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
24
- # gem.add_runtime_dependency 'jabber4r', '> 0.1'
25
- # gem.add_development_dependency 'rspec', '> 1.2.3'
26
- end
27
- Jeweler::RubygemsDotOrgTasks.new
5
+ # if not defined?(Bundler)
6
+ # require 'bundler'
7
+ # begin
8
+ # Bundler.setup(:default, :development)
9
+ # rescue Bundler::BundlerError => e
10
+ # $stderr.puts e.message
11
+ # $stderr.puts "Run `bundle install` to install missing gems"
12
+ # exit e.status_code
13
+ # end
14
+ # end
15
+
16
+ require 'rake'
28
17
 
29
18
  require 'rake/testtask'
30
19
  Rake::TestTask.new(:test) do |test|
31
20
  test.libs << 'lib' << 'test'
32
- test.pattern = 'test/**/test_*.rb'
21
+ test.pattern = 'test/**/*_test.rb'
33
22
  test.verbose = true
34
23
  end
35
24
 
36
25
  require 'rcov/rcovtask'
37
26
  Rcov::RcovTask.new do |test|
38
27
  test.libs << 'test'
39
- test.pattern = 'test/**/test_*.rb'
28
+ test.pattern = 'test/**/*_test.rb'
40
29
  test.verbose = true
41
30
  end
42
31
 
@@ -44,10 +33,11 @@ task :default => :test
44
33
 
45
34
  require 'rake/rdoctask'
46
35
  Rake::RDocTask.new do |rdoc|
47
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
36
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
37
+ require 'tracking_number'
48
38
 
49
39
  rdoc.rdoc_dir = 'rdoc'
50
- rdoc.title = "tracking_number #{version}"
40
+ rdoc.title = "tracking_number #{TrackingNumber::VERSION}"
51
41
  rdoc.rdoc_files.include('README*')
52
42
  rdoc.rdoc_files.include('lib/**/*.rb')
53
43
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0
1
+ 0.5.0
@@ -3,14 +3,14 @@
3
3
  # Information on validating tracking numbers found here:
4
4
  # http://answers.google.com/answers/threadview/id/207899.html
5
5
 
6
- require 'base'
7
- require 'usps'
8
- require 'fedex'
9
- require 'ups'
10
- require 'dhl'
11
- require 'ontrac'
6
+ require 'tracking_number/base'
7
+ require 'tracking_number/usps'
8
+ require 'tracking_number/fedex'
9
+ require 'tracking_number/ups'
10
+ require 'tracking_number/dhl'
11
+ require 'tracking_number/ontrac'
12
12
 
13
- class TrackingNumber
13
+ module TrackingNumber
14
14
  TYPES = [UPS, FedExExpress, FedExGround, FedExGround18, FedExGround96, USPS91, USPS20, USPS13, DHL, OnTrac]
15
15
 
16
16
  def self.search(body)
@@ -18,14 +18,12 @@ class TrackingNumber
18
18
  end
19
19
 
20
20
  def self.detect(tracking_number)
21
- detected = TYPES.collect do |test|
22
- t = test.new(tracking_number)
23
- t if t.valid?
21
+ tn = nil
22
+ for test_klass in (TYPES+[Unknown])
23
+ tn = test_klass.new(tracking_number)
24
+ break if tn.valid?
24
25
  end
25
- found = detected.compact.first
26
-
27
- return found if found
28
- return Unknown.new(tracking_number)
26
+ return tn
29
27
  end
30
28
 
31
29
  def self.new(tracking_number)
@@ -1,4 +1,4 @@
1
- class TrackingNumber
1
+ module TrackingNumber
2
2
  class Base
3
3
  attr_accessor :tracking_number
4
4
  def initialize(tracking_number)
@@ -6,7 +6,7 @@ class TrackingNumber
6
6
  @tracking_number = tracking_number.strip.gsub(" ", "").upcase
7
7
  end
8
8
 
9
- def self.search(body)
9
+ def self.search(body)
10
10
  valids = self.scan(body).uniq.collect { |possible| new(possible) }.select { |t| t.valid? }
11
11
 
12
12
  uniques = {}
@@ -51,6 +51,11 @@ class TrackingNumber
51
51
  def to_s
52
52
  self.tracking_number
53
53
  end
54
+
55
+ def inspect
56
+ "#<%s:%#0x %s>" % [self.class.to_s, self.object_id, tracking_number]
57
+ end
58
+
54
59
  end
55
60
 
56
61
  class Unknown < Base
@@ -1,4 +1,4 @@
1
- class TrackingNumber
1
+ module TrackingNumber
2
2
  class DHL < Base
3
3
  SEARCH_PATTERN = /(\b([0-9]\s*){11,11}\b)/
4
4
  VERIFY_PATTERN = /^([0-9]{10,10})([0-9])$/
@@ -1,4 +1,4 @@
1
- class TrackingNumber
1
+ module TrackingNumber
2
2
  class FedEx < Base
3
3
  def carrier
4
4
  :fedex
@@ -1,4 +1,4 @@
1
- class TrackingNumber
1
+ module TrackingNumber
2
2
  class OnTrac < Base
3
3
  SEARCH_PATTERN = /(\b(C\s*)([0-9]\s*){14,14}\b)/
4
4
  VERIFY_PATTERN = /^(C[0-9]{13,13})([0-9])$/
@@ -1,4 +1,4 @@
1
- class TrackingNumber
1
+ module TrackingNumber
2
2
  class UPS < Base
3
3
  SEARCH_PATTERN = /(\b1\s*Z\s*(\w\s*){16,16}\b)/
4
4
  VERIFY_PATTERN = /^1Z(\w{15,15})(\w)$/
@@ -1,4 +1,4 @@
1
- class TrackingNumber
1
+ module TrackingNumber
2
2
  class USPS < Base
3
3
  def carrier
4
4
  :usps
@@ -6,13 +6,13 @@ class TrackingNumber
6
6
  end
7
7
 
8
8
  class USPS91 < USPS
9
- SEARCH_PATTERN = [/(\b9\s*1\s*(([0-9]\s*){20,20}\b))/, /(\b([0-9]\s*){20,20}\b)/]
10
- VERIFY_PATTERN = /^(91[0-9]{19,19})([0-9])$/
9
+ SEARCH_PATTERN = [/(\b9\s*[14]\s*(([0-9]\s*){20,20}\b))/, /(\b([0-9]\s*){20,20}\b)/]
10
+ VERIFY_PATTERN = /^(9[14][0-9]{19,19})([0-9])$/
11
11
 
12
- # Sometimes these numbers will appear without the leading 91, though, so we need to account for that case
12
+ # Sometimes these numbers will appear without the leading 91 or 94, though, so we need to account for that case
13
13
 
14
14
  def decode
15
- # Application ID: 91
15
+ # Application ID: 91 or 94
16
16
  # Service Code: 2 Digits
17
17
  # Mailer Id: 8 Digits
18
18
  # Package Id: 9 Digits
@@ -27,7 +27,7 @@ class TrackingNumber
27
27
  end
28
28
 
29
29
  def matches
30
- if self.tracking_number =~ /^91/
30
+ if self.tracking_number =~ /^9[14]/
31
31
  self.tracking_number.scan(VERIFY_PATTERN).flatten
32
32
  else
33
33
  "91#{self.tracking_number}".scan(VERIFY_PATTERN).flatten
@@ -35,7 +35,7 @@ class TrackingNumber
35
35
  end
36
36
 
37
37
  def valid_checksum?
38
- if self.tracking_number =~ /^91/
38
+ if self.tracking_number =~ /^9[14]/
39
39
  return true if weighted_usps_checksum_valid?(tracking_number)
40
40
  else
41
41
  if weighted_usps_checksum_valid?("91#{self.tracking_number}")
@@ -0,0 +1,3 @@
1
+ module TrackingNumber
2
+ VERSION = "0.5.0"
3
+ end
data/test/test_helper.rb CHANGED
@@ -1,12 +1,14 @@
1
1
  require 'rubygems'
2
- require 'bundler'
3
- begin
4
- Bundler.setup(:default, :development)
5
- rescue Bundler::BundlerError => e
6
- $stderr.puts e.message
7
- $stderr.puts "Run `bundle install` to install missing gems"
8
- exit e.status_code
9
- end
2
+ # if not defined?(Bundler)
3
+ # require 'bundler'
4
+ # begin
5
+ # Bundler.setup(:default, :development)
6
+ # rescue Bundler::BundlerError => e
7
+ # $stderr.puts e.message
8
+ # $stderr.puts "Run `bundle install` to install missing gems"
9
+ # exit e.status_code
10
+ # end
11
+ # end
10
12
  require 'test/unit'
11
13
  require 'shoulda'
12
14
 
@@ -2,7 +2,7 @@ require 'test_helper'
2
2
 
3
3
  class USPSTrackingNumberTest < Test::Unit::TestCase
4
4
  context "a USPS tracking number" do
5
- ["9101 1234 5678 9000 0000 13", "7196 9010 7560 0307 7385"].each do |valid_number|
5
+ ["9101 1234 5678 9000 0000 13", "7196 9010 7560 0307 7385", "9400 1112 0108 0805 4830 16"].each do |valid_number|
6
6
  should "return usps with valid 22 digit number: #{valid_number}" do
7
7
  should_be_valid_number(valid_number, TrackingNumber::USPS91, :usps)
8
8
  end
@@ -1,11 +1,11 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
1
  # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "tracking_number/version"
5
4
 
6
5
  Gem::Specification.new do |s|
7
6
  s.name = %q{tracking_number}
8
- s.version = "0.4.0"
7
+ s.version = TrackingNumber::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jeff Keen"]
@@ -16,63 +16,33 @@ Gem::Specification.new do |s|
16
16
  "LICENSE.txt",
17
17
  "README.rdoc"
18
18
  ]
19
- s.files = [
20
- ".document",
21
- "Gemfile",
22
- "Gemfile.lock",
23
- "LICENSE.txt",
24
- "README.rdoc",
25
- "Rakefile",
26
- "VERSION",
27
- "lib/base.rb",
28
- "lib/dhl.rb",
29
- "lib/fedex.rb",
30
- "lib/ontrac.rb",
31
- "lib/tracking_number.rb",
32
- "lib/ups.rb",
33
- "lib/usps.rb",
34
- "test/test_dhl_tracking_number.rb",
35
- "test/test_fedex_tracking_number.rb",
36
- "test/test_helper.rb",
37
- "test/test_ontrac_tracking_number.rb",
38
- "test/test_tracking_number.rb",
39
- "test/test_ups_tracking_number.rb",
40
- "test/test_usps_tracking_number.rb",
41
- "tracking_number.gemspec"
42
- ]
19
+ s.files = `git ls-files`.split("\n")
20
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
21
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
22
+ s.require_paths = ["lib"]
43
23
  s.homepage = %q{http://github.com/jkeen/tracking_number}
44
24
  s.licenses = ["MIT"]
45
- s.require_paths = ["lib"]
46
25
  s.rubygems_version = %q{1.7.2}
47
26
  s.summary = %q{Identifies valid tracking numbers}
48
- s.test_files = [
49
- "test/test_dhl_tracking_number.rb",
50
- "test/test_fedex_tracking_number.rb",
51
- "test/test_helper.rb",
52
- "test/test_ontrac_tracking_number.rb",
53
- "test/test_tracking_number.rb",
54
- "test/test_ups_tracking_number.rb",
55
- "test/test_usps_tracking_number.rb"
56
- ]
57
27
 
58
28
  if s.respond_to? :specification_version then
59
29
  s.specification_version = 3
60
30
 
61
31
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
62
32
  s.add_development_dependency(%q<shoulda>, [">= 0"])
63
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
64
- s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
33
+ # s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
34
+ # s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
65
35
  s.add_development_dependency(%q<rcov>, [">= 0"])
66
36
  else
67
37
  s.add_dependency(%q<shoulda>, [">= 0"])
68
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
69
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
38
+ # s.add_dependency(%q<bundler>, ["~> 1.0.0"])
39
+ # s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
70
40
  s.add_dependency(%q<rcov>, [">= 0"])
71
41
  end
72
42
  else
73
43
  s.add_dependency(%q<shoulda>, [">= 0"])
74
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
75
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
44
+ # s.add_dependency(%q<bundler>, ["~> 1.0.0"])
45
+ # s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
76
46
  s.add_dependency(%q<rcov>, [">= 0"])
77
47
  end
78
48
  end
metadata CHANGED
@@ -1,152 +1,101 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: tracking_number
3
- version: !ruby/object:Gem::Version
4
- hash: 15
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.0
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 4
9
- - 0
10
- version: 0.4.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Jeff Keen
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-04-26 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- version_requirements: &id001 !ruby/object:Gem::Requirement
22
- none: false
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- hash: 3
27
- segments:
28
- - 0
29
- version: "0"
12
+ date: 2011-04-26 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
30
15
  name: shoulda
31
- prerelease: false
32
- type: :development
33
- requirement: *id001
34
- - !ruby/object:Gem::Dependency
35
- version_requirements: &id002 !ruby/object:Gem::Requirement
16
+ requirement: &70300998016440 !ruby/object:Gem::Requirement
36
17
  none: false
37
- requirements:
38
- - - ~>
39
- - !ruby/object:Gem::Version
40
- hash: 23
41
- segments:
42
- - 1
43
- - 0
44
- - 0
45
- version: 1.0.0
46
- name: bundler
47
- prerelease: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
48
22
  type: :development
49
- requirement: *id002
50
- - !ruby/object:Gem::Dependency
51
- version_requirements: &id003 !ruby/object:Gem::Requirement
52
- none: false
53
- requirements:
54
- - - ~>
55
- - !ruby/object:Gem::Version
56
- hash: 7
57
- segments:
58
- - 1
59
- - 5
60
- - 2
61
- version: 1.5.2
62
- name: jeweler
63
23
  prerelease: false
64
- type: :development
65
- requirement: *id003
66
- - !ruby/object:Gem::Dependency
67
- version_requirements: &id004 !ruby/object:Gem::Requirement
68
- none: false
69
- requirements:
70
- - - ">="
71
- - !ruby/object:Gem::Version
72
- hash: 3
73
- segments:
74
- - 0
75
- version: "0"
24
+ version_requirements: *70300998016440
25
+ - !ruby/object:Gem::Dependency
76
26
  name: rcov
77
- prerelease: false
27
+ requirement: &70300998015740 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
78
33
  type: :development
79
- requirement: *id004
80
- description: Match tracking numbers to a service, and search blocks of text and pull out valid tracking numbers.
34
+ prerelease: false
35
+ version_requirements: *70300998015740
36
+ description: Match tracking numbers to a service, and search blocks of text and pull
37
+ out valid tracking numbers.
81
38
  email: jeff@keen.me
82
39
  executables: []
83
-
84
40
  extensions: []
85
-
86
- extra_rdoc_files:
41
+ extra_rdoc_files:
87
42
  - LICENSE.txt
88
43
  - README.rdoc
89
- files:
44
+ files:
90
45
  - .document
46
+ - .gitignore
91
47
  - Gemfile
92
48
  - Gemfile.lock
93
49
  - LICENSE.txt
94
50
  - README.rdoc
95
51
  - Rakefile
96
52
  - VERSION
97
- - lib/base.rb
98
- - lib/dhl.rb
99
- - lib/fedex.rb
100
- - lib/ontrac.rb
101
53
  - lib/tracking_number.rb
102
- - lib/ups.rb
103
- - lib/usps.rb
104
- - test/test_dhl_tracking_number.rb
105
- - test/test_fedex_tracking_number.rb
54
+ - lib/tracking_number/base.rb
55
+ - lib/tracking_number/dhl.rb
56
+ - lib/tracking_number/fedex.rb
57
+ - lib/tracking_number/ontrac.rb
58
+ - lib/tracking_number/ups.rb
59
+ - lib/tracking_number/usps.rb
60
+ - lib/tracking_number/version.rb
61
+ - test/dhl_tracking_number_test.rb
62
+ - test/fedex_tracking_number_test.rb
63
+ - test/ontrac_tracking_number_test.rb
106
64
  - test/test_helper.rb
107
- - test/test_ontrac_tracking_number.rb
108
- - test/test_tracking_number.rb
109
- - test/test_ups_tracking_number.rb
110
- - test/test_usps_tracking_number.rb
65
+ - test/tracking_number_test.rb
66
+ - test/ups_tracking_number_test.rb
67
+ - test/usps_tracking_number_test.rb
111
68
  - tracking_number.gemspec
112
69
  homepage: http://github.com/jkeen/tracking_number
113
- licenses:
70
+ licenses:
114
71
  - MIT
115
72
  post_install_message:
116
73
  rdoc_options: []
117
-
118
- require_paths:
74
+ require_paths:
119
75
  - lib
120
- required_ruby_version: !ruby/object:Gem::Requirement
76
+ required_ruby_version: !ruby/object:Gem::Requirement
121
77
  none: false
122
- requirements:
123
- - - ">="
124
- - !ruby/object:Gem::Version
125
- hash: 3
126
- segments:
127
- - 0
128
- version: "0"
129
- required_rubygems_version: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ! '>='
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ required_rubygems_version: !ruby/object:Gem::Requirement
130
83
  none: false
131
- requirements:
132
- - - ">="
133
- - !ruby/object:Gem::Version
134
- hash: 3
135
- segments:
136
- - 0
137
- version: "0"
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
138
88
  requirements: []
139
-
140
89
  rubyforge_project:
141
- rubygems_version: 1.7.2
90
+ rubygems_version: 1.8.15
142
91
  signing_key:
143
92
  specification_version: 3
144
93
  summary: Identifies valid tracking numbers
145
- test_files:
146
- - test/test_dhl_tracking_number.rb
147
- - test/test_fedex_tracking_number.rb
94
+ test_files:
95
+ - test/dhl_tracking_number_test.rb
96
+ - test/fedex_tracking_number_test.rb
97
+ - test/ontrac_tracking_number_test.rb
148
98
  - test/test_helper.rb
149
- - test/test_ontrac_tracking_number.rb
150
- - test/test_tracking_number.rb
151
- - test/test_ups_tracking_number.rb
152
- - test/test_usps_tracking_number.rb
99
+ - test/tracking_number_test.rb
100
+ - test/ups_tracking_number_test.rb
101
+ - test/usps_tracking_number_test.rb