trackerific 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. data/Gemfile +1 -0
  2. data/Gemfile.lock +40 -38
  3. data/README.rdoc +4 -9
  4. data/VERSION +1 -1
  5. data/doc/Trackerific.html +34 -22
  6. data/doc/Trackerific/Base.html +237 -20
  7. data/doc/Trackerific/Details.html +6 -6
  8. data/doc/Trackerific/Error.html +2 -2
  9. data/doc/Trackerific/Event.html +7 -7
  10. data/doc/Trackerific/FedEx.html +190 -3
  11. data/doc/Trackerific/UPS.html +190 -3
  12. data/doc/Trackerific/USPS.html +190 -3
  13. data/doc/_index.html +1 -1
  14. data/doc/file.README.html +6 -24
  15. data/doc/index.html +6 -24
  16. data/doc/method_list.html +68 -4
  17. data/doc/top-level-namespace.html +1 -1
  18. data/lib/trackerific.rb +37 -74
  19. data/lib/trackerific/base.rb +70 -0
  20. data/lib/{trackerific_details.rb → trackerific/details.rb} +0 -0
  21. data/lib/trackerific/error.rb +4 -0
  22. data/lib/{trackerific_event.rb → trackerific/event.rb} +0 -0
  23. data/lib/{fedex.rb → trackerific/services/fedex.rb} +9 -2
  24. data/lib/{ups.rb → trackerific/services/ups.rb} +10 -4
  25. data/lib/{usps.rb → trackerific/services/usps.rb} +10 -3
  26. data/spec/lib/trackerific/base_spec.rb +34 -0
  27. data/spec/lib/{trackerific_details_spec.rb → trackerific/details_spec.rb} +0 -0
  28. data/spec/lib/trackerific/error_spec.rb +5 -0
  29. data/spec/lib/{trackerific_event_spec.rb → trackerific/event_spec.rb} +0 -0
  30. data/spec/lib/{fedex_spec.rb → trackerific/services/fedex_spec.rb} +19 -14
  31. data/spec/lib/{ups_spec.rb → trackerific/services/ups_spec.rb} +20 -14
  32. data/spec/lib/{usps_spec.rb → trackerific/services/usps_spec.rb} +18 -14
  33. data/spec/lib/trackerific_spec.rb +7 -30
  34. data/spec/spec_helper.rb +1 -0
  35. data/trackerific.gemspec +18 -22
  36. 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
- before(:all) do
10
- @package_id = 'EJ958083578US'
11
- @usps = Trackerific::USPS.new :user_id => '123USERID4567'
9
+ describe :required_options do
10
+ subject { Trackerific::USPS.required_options }
11
+ it { should include(:user_id) }
12
12
  end
13
13
 
14
- describe "track_package" do
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
- class TestBaseClass < Trackerific::Base
4
- def required_options
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
- end
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
@@ -1,6 +1,7 @@
1
1
  require 'rubygems'
2
2
  require 'bundler/setup'
3
3
  require 'trackerific'
4
+ require 'rspec_multi_matchers'
4
5
 
5
6
  # load all the support files
6
7
  Dir["spec/support/**/*.rb"].each { |f| require File.expand_path(f) }
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.2"
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/trackerific_details.rb",
52
- "lib/trackerific_event.rb",
53
- "lib/ups.rb",
54
- "lib/usps.rb",
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/fedex_spec.rb",
62
- "spec/lib/trackerific_details_spec.rb",
63
- "spec/lib/trackerific_event_spec.rb",
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
- - 2
9
- version: 0.3.2
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: ruby-debug19
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: *id007
139
+ version_requirements: *id008
125
140
  - !ruby/object:Gem::Dependency
126
141
  name: yardstick
127
- requirement: &id008 !ruby/object:Gem::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: *id008
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/trackerific_details.rb
182
- - lib/trackerific_event.rb
183
- - lib/ups.rb
184
- - lib/usps.rb
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/fedex_spec.rb
192
- - spec/lib/trackerific_details_spec.rb
193
- - spec/lib/trackerific_event_spec.rb
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: 154150799
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
- - spec/lib/fedex_spec.rb
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
+