trackerific 0.3.2 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +1 -0
- data/Gemfile.lock +40 -38
- data/README.rdoc +4 -9
- data/VERSION +1 -1
- data/doc/Trackerific.html +34 -22
- data/doc/Trackerific/Base.html +237 -20
- data/doc/Trackerific/Details.html +6 -6
- data/doc/Trackerific/Error.html +2 -2
- data/doc/Trackerific/Event.html +7 -7
- data/doc/Trackerific/FedEx.html +190 -3
- data/doc/Trackerific/UPS.html +190 -3
- data/doc/Trackerific/USPS.html +190 -3
- data/doc/_index.html +1 -1
- data/doc/file.README.html +6 -24
- data/doc/index.html +6 -24
- data/doc/method_list.html +68 -4
- data/doc/top-level-namespace.html +1 -1
- data/lib/trackerific.rb +37 -74
- data/lib/trackerific/base.rb +70 -0
- data/lib/{trackerific_details.rb → trackerific/details.rb} +0 -0
- data/lib/trackerific/error.rb +4 -0
- data/lib/{trackerific_event.rb → trackerific/event.rb} +0 -0
- data/lib/{fedex.rb → trackerific/services/fedex.rb} +9 -2
- data/lib/{ups.rb → trackerific/services/ups.rb} +10 -4
- data/lib/{usps.rb → trackerific/services/usps.rb} +10 -3
- data/spec/lib/trackerific/base_spec.rb +34 -0
- data/spec/lib/{trackerific_details_spec.rb → trackerific/details_spec.rb} +0 -0
- data/spec/lib/trackerific/error_spec.rb +5 -0
- data/spec/lib/{trackerific_event_spec.rb → trackerific/event_spec.rb} +0 -0
- data/spec/lib/{fedex_spec.rb → trackerific/services/fedex_spec.rb} +19 -14
- data/spec/lib/{ups_spec.rb → trackerific/services/ups_spec.rb} +20 -14
- data/spec/lib/{usps_spec.rb → trackerific/services/usps_spec.rb} +18 -14
- data/spec/lib/trackerific_spec.rb +7 -30
- data/spec/spec_helper.rb +1 -0
- data/trackerific.gemspec +18 -22
- metadata +38 -27
@@ -6,19 +6,26 @@ USPS_TRACK_URL = %r|http://testing\.shippingapis\.com/.*|
|
|
6
6
|
describe Trackerific::USPS do
|
7
7
|
include Fixtures
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
describe :required_options do
|
10
|
+
subject { Trackerific::USPS.required_options }
|
11
|
+
it { should include(:user_id) }
|
12
12
|
end
|
13
13
|
|
14
|
-
describe
|
14
|
+
describe :package_id_matchers do
|
15
|
+
it "should be an Array of Regexp" do
|
16
|
+
Trackerific::UPS.package_id_matchers.should each { |m| m.should be_a Regexp }
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe :track_package do
|
21
|
+
before(:all) do
|
22
|
+
@package_id = 'EJ958083578US'
|
23
|
+
@usps = Trackerific::USPS.new :user_id => '123USERID4567'
|
24
|
+
end
|
25
|
+
|
15
26
|
context "with a successful response from the server" do
|
16
27
|
before(:all) do
|
17
|
-
FakeWeb.register_uri(
|
18
|
-
:get,
|
19
|
-
USPS_TRACK_URL,
|
20
|
-
:body => load_fixture(:usps_success_response)
|
21
|
-
)
|
28
|
+
FakeWeb.register_uri(:get, USPS_TRACK_URL, :body => load_fixture(:usps_success_response))
|
22
29
|
@tracking = @usps.track_package(@package_id)
|
23
30
|
end
|
24
31
|
specify { @tracking.should be_a Trackerific::Details }
|
@@ -29,13 +36,10 @@ describe Trackerific::USPS do
|
|
29
36
|
@tracking.summary.should_not be_empty
|
30
37
|
end
|
31
38
|
end
|
39
|
+
|
32
40
|
context "with an error response from the server" do
|
33
41
|
before(:all) do
|
34
|
-
FakeWeb.register_uri(
|
35
|
-
:get,
|
36
|
-
USPS_TRACK_URL,
|
37
|
-
:body => load_fixture(:usps_error_response)
|
38
|
-
)
|
42
|
+
FakeWeb.register_uri(:get, USPS_TRACK_URL, :body => load_fixture(:usps_error_response))
|
39
43
|
end
|
40
44
|
specify { lambda { @usps.track_package(@package_id) }.should raise_error(Trackerific::Error) }
|
41
45
|
end
|
@@ -1,50 +1,27 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
[:required, :also_required]
|
6
|
-
end
|
7
|
-
end
|
8
|
-
|
9
|
-
describe 'Trackerific::Base' do
|
3
|
+
describe "Trackerific" do
|
4
|
+
include Trackerific
|
10
5
|
|
11
|
-
before(:all) do
|
12
|
-
@base = Trackerific::Base.new
|
13
|
-
end
|
14
|
-
|
15
6
|
describe "tracking_service" do
|
16
7
|
include Trackerific
|
8
|
+
|
17
9
|
context "when given a UPS tracking number" do
|
18
10
|
specify { tracking_service("1Z12345E0291980793").should eq Trackerific::UPS }
|
19
11
|
end
|
12
|
+
|
20
13
|
context "when given a USPS tracking number" do
|
21
14
|
specify { tracking_service("EJ958083578US").should eq Trackerific::USPS }
|
22
15
|
end
|
16
|
+
|
23
17
|
context "when given a FedEx tracking number" do
|
24
18
|
specify { tracking_service("183689015000001").should eq Trackerific::FedEx }
|
25
19
|
end
|
20
|
+
|
26
21
|
context "when given an invalid tracking number" do
|
27
22
|
specify { tracking_service("invalid tracking number").should be_nil }
|
28
23
|
end
|
29
|
-
|
30
|
-
|
31
|
-
context "with a new Trackerific::Base class that has required options" do
|
32
|
-
context "has all the required options" do
|
33
|
-
it "should be able to create a new instance" do
|
34
|
-
t = TestBaseClass.new(:required => true, :also_required => :yup)
|
35
|
-
t.should be_a TestBaseClass
|
36
|
-
end
|
37
|
-
end
|
38
|
-
context "is missing some required options" do
|
39
|
-
it "should raise an ArgumentError" do
|
40
|
-
lambda { TestBaseClass.new() }.should raise_error(ArgumentError)
|
41
|
-
end
|
42
|
-
end
|
43
|
-
context "has an invalid option" do
|
44
|
-
it "should raise an ArgumentError" do
|
45
|
-
lambda { TestBaseClass.new(:unknown => :argument ) }.should raise_error(ArgumentError)
|
46
|
-
end
|
47
|
-
end
|
24
|
+
|
48
25
|
end
|
49
26
|
|
50
27
|
end
|
data/spec/spec_helper.rb
CHANGED
data/trackerific.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{trackerific}
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Travis Haynes"]
|
@@ -46,24 +46,28 @@ Gem::Specification.new do |s|
|
|
46
46
|
"doc/js/jquery.js",
|
47
47
|
"doc/method_list.html",
|
48
48
|
"doc/top-level-namespace.html",
|
49
|
-
"lib/fedex.rb",
|
50
49
|
"lib/trackerific.rb",
|
51
|
-
"lib/
|
52
|
-
"lib/
|
53
|
-
"lib/
|
54
|
-
"lib/
|
50
|
+
"lib/trackerific/base.rb",
|
51
|
+
"lib/trackerific/details.rb",
|
52
|
+
"lib/trackerific/error.rb",
|
53
|
+
"lib/trackerific/event.rb",
|
54
|
+
"lib/trackerific/services/fedex.rb",
|
55
|
+
"lib/trackerific/services/ups.rb",
|
56
|
+
"lib/trackerific/services/usps.rb",
|
55
57
|
"spec/fixtures/fedex_error_response.xml",
|
56
58
|
"spec/fixtures/fedex_success_response.xml",
|
57
59
|
"spec/fixtures/ups_error_response.xml",
|
58
60
|
"spec/fixtures/ups_success_response.xml",
|
59
61
|
"spec/fixtures/usps_error_response.xml",
|
60
62
|
"spec/fixtures/usps_success_response.xml",
|
61
|
-
"spec/lib/
|
62
|
-
"spec/lib/
|
63
|
-
"spec/lib/
|
63
|
+
"spec/lib/trackerific/base_spec.rb",
|
64
|
+
"spec/lib/trackerific/details_spec.rb",
|
65
|
+
"spec/lib/trackerific/error_spec.rb",
|
66
|
+
"spec/lib/trackerific/event_spec.rb",
|
67
|
+
"spec/lib/trackerific/services/fedex_spec.rb",
|
68
|
+
"spec/lib/trackerific/services/ups_spec.rb",
|
69
|
+
"spec/lib/trackerific/services/usps_spec.rb",
|
64
70
|
"spec/lib/trackerific_spec.rb",
|
65
|
-
"spec/lib/ups_spec.rb",
|
66
|
-
"spec/lib/usps_spec.rb",
|
67
71
|
"spec/spec_helper.rb",
|
68
72
|
"spec/support/fixtures.rb",
|
69
73
|
"spec/support/trackerific.rb",
|
@@ -74,17 +78,6 @@ Gem::Specification.new do |s|
|
|
74
78
|
s.require_paths = ["lib"]
|
75
79
|
s.rubygems_version = %q{1.3.7}
|
76
80
|
s.summary = %q{Trackerific provides package tracking to Rails.}
|
77
|
-
s.test_files = [
|
78
|
-
"spec/lib/fedex_spec.rb",
|
79
|
-
"spec/lib/trackerific_details_spec.rb",
|
80
|
-
"spec/lib/trackerific_event_spec.rb",
|
81
|
-
"spec/lib/trackerific_spec.rb",
|
82
|
-
"spec/lib/ups_spec.rb",
|
83
|
-
"spec/lib/usps_spec.rb",
|
84
|
-
"spec/spec_helper.rb",
|
85
|
-
"spec/support/fixtures.rb",
|
86
|
-
"spec/support/trackerific.rb"
|
87
|
-
]
|
88
81
|
|
89
82
|
if s.respond_to? :specification_version then
|
90
83
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
@@ -97,6 +90,7 @@ Gem::Specification.new do |s|
|
|
97
90
|
s.add_development_dependency(%q<bundler>, [">= 1.0.13"])
|
98
91
|
s.add_development_dependency(%q<jeweler>, [">= 1.5.2"])
|
99
92
|
s.add_development_dependency(%q<rspec-rails>, [">= 2.6.1"])
|
93
|
+
s.add_development_dependency(%q<rspec_multi_matchers>, [">= 1.1.0"])
|
100
94
|
s.add_development_dependency(%q<ruby-debug19>, [">= 0.11.6"])
|
101
95
|
s.add_development_dependency(%q<yardstick>, [">= 0.4.0"])
|
102
96
|
else
|
@@ -106,6 +100,7 @@ Gem::Specification.new do |s|
|
|
106
100
|
s.add_dependency(%q<bundler>, [">= 1.0.13"])
|
107
101
|
s.add_dependency(%q<jeweler>, [">= 1.5.2"])
|
108
102
|
s.add_dependency(%q<rspec-rails>, [">= 2.6.1"])
|
103
|
+
s.add_dependency(%q<rspec_multi_matchers>, [">= 1.1.0"])
|
109
104
|
s.add_dependency(%q<ruby-debug19>, [">= 0.11.6"])
|
110
105
|
s.add_dependency(%q<yardstick>, [">= 0.4.0"])
|
111
106
|
end
|
@@ -116,6 +111,7 @@ Gem::Specification.new do |s|
|
|
116
111
|
s.add_dependency(%q<bundler>, [">= 1.0.13"])
|
117
112
|
s.add_dependency(%q<jeweler>, [">= 1.5.2"])
|
118
113
|
s.add_dependency(%q<rspec-rails>, [">= 2.6.1"])
|
114
|
+
s.add_dependency(%q<rspec_multi_matchers>, [">= 1.1.0"])
|
119
115
|
s.add_dependency(%q<ruby-debug19>, [">= 0.11.6"])
|
120
116
|
s.add_dependency(%q<yardstick>, [">= 0.4.0"])
|
121
117
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 3
|
8
|
-
-
|
9
|
-
version: 0.3.
|
8
|
+
- 3
|
9
|
+
version: 0.3.3
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Travis Haynes
|
@@ -108,8 +108,23 @@ dependencies:
|
|
108
108
|
prerelease: false
|
109
109
|
version_requirements: *id006
|
110
110
|
- !ruby/object:Gem::Dependency
|
111
|
-
name:
|
111
|
+
name: rspec_multi_matchers
|
112
112
|
requirement: &id007 !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
segments:
|
118
|
+
- 1
|
119
|
+
- 1
|
120
|
+
- 0
|
121
|
+
version: 1.1.0
|
122
|
+
type: :development
|
123
|
+
prerelease: false
|
124
|
+
version_requirements: *id007
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: ruby-debug19
|
127
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
113
128
|
none: false
|
114
129
|
requirements:
|
115
130
|
- - ">="
|
@@ -121,10 +136,10 @@ dependencies:
|
|
121
136
|
version: 0.11.6
|
122
137
|
type: :development
|
123
138
|
prerelease: false
|
124
|
-
version_requirements: *
|
139
|
+
version_requirements: *id008
|
125
140
|
- !ruby/object:Gem::Dependency
|
126
141
|
name: yardstick
|
127
|
-
requirement: &
|
142
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
128
143
|
none: false
|
129
144
|
requirements:
|
130
145
|
- - ">="
|
@@ -136,7 +151,7 @@ dependencies:
|
|
136
151
|
version: 0.4.0
|
137
152
|
type: :development
|
138
153
|
prerelease: false
|
139
|
-
version_requirements: *
|
154
|
+
version_requirements: *id009
|
140
155
|
description: Trackerific provides USPS, FedEx and UPS package tracking to Rails.
|
141
156
|
email: travis.j.haynes@gmail.com
|
142
157
|
executables: []
|
@@ -176,24 +191,28 @@ files:
|
|
176
191
|
- doc/js/jquery.js
|
177
192
|
- doc/method_list.html
|
178
193
|
- doc/top-level-namespace.html
|
179
|
-
- lib/fedex.rb
|
180
194
|
- lib/trackerific.rb
|
181
|
-
- lib/
|
182
|
-
- lib/
|
183
|
-
- lib/
|
184
|
-
- lib/
|
195
|
+
- lib/trackerific/base.rb
|
196
|
+
- lib/trackerific/details.rb
|
197
|
+
- lib/trackerific/error.rb
|
198
|
+
- lib/trackerific/event.rb
|
199
|
+
- lib/trackerific/services/fedex.rb
|
200
|
+
- lib/trackerific/services/ups.rb
|
201
|
+
- lib/trackerific/services/usps.rb
|
185
202
|
- spec/fixtures/fedex_error_response.xml
|
186
203
|
- spec/fixtures/fedex_success_response.xml
|
187
204
|
- spec/fixtures/ups_error_response.xml
|
188
205
|
- spec/fixtures/ups_success_response.xml
|
189
206
|
- spec/fixtures/usps_error_response.xml
|
190
207
|
- spec/fixtures/usps_success_response.xml
|
191
|
-
- spec/lib/
|
192
|
-
- spec/lib/
|
193
|
-
- spec/lib/
|
208
|
+
- spec/lib/trackerific/base_spec.rb
|
209
|
+
- spec/lib/trackerific/details_spec.rb
|
210
|
+
- spec/lib/trackerific/error_spec.rb
|
211
|
+
- spec/lib/trackerific/event_spec.rb
|
212
|
+
- spec/lib/trackerific/services/fedex_spec.rb
|
213
|
+
- spec/lib/trackerific/services/ups_spec.rb
|
214
|
+
- spec/lib/trackerific/services/usps_spec.rb
|
194
215
|
- spec/lib/trackerific_spec.rb
|
195
|
-
- spec/lib/ups_spec.rb
|
196
|
-
- spec/lib/usps_spec.rb
|
197
216
|
- spec/spec_helper.rb
|
198
217
|
- spec/support/fixtures.rb
|
199
218
|
- spec/support/trackerific.rb
|
@@ -212,7 +231,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
212
231
|
requirements:
|
213
232
|
- - ">="
|
214
233
|
- !ruby/object:Gem::Version
|
215
|
-
hash:
|
234
|
+
hash: -940622961
|
216
235
|
segments:
|
217
236
|
- 0
|
218
237
|
version: "0"
|
@@ -231,13 +250,5 @@ rubygems_version: 1.3.7
|
|
231
250
|
signing_key:
|
232
251
|
specification_version: 3
|
233
252
|
summary: Trackerific provides package tracking to Rails.
|
234
|
-
test_files:
|
235
|
-
|
236
|
-
- spec/lib/trackerific_details_spec.rb
|
237
|
-
- spec/lib/trackerific_event_spec.rb
|
238
|
-
- spec/lib/trackerific_spec.rb
|
239
|
-
- spec/lib/ups_spec.rb
|
240
|
-
- spec/lib/usps_spec.rb
|
241
|
-
- spec/spec_helper.rb
|
242
|
-
- spec/support/fixtures.rb
|
243
|
-
- spec/support/trackerific.rb
|
253
|
+
test_files: []
|
254
|
+
|