trackerific 0.7.2 → 0.7.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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.rdoc +2 -1
  4. data/lib/dependencies.rb +9 -0
  5. data/lib/trackerific.rb +5 -19
  6. data/lib/trackerific/builders.rb +12 -0
  7. data/lib/trackerific/builders/base/soap.rb +14 -16
  8. data/lib/trackerific/builders/base/xml.rb +22 -28
  9. data/lib/trackerific/builders/fedex.rb +66 -44
  10. data/lib/trackerific/builders/ups.rb +28 -24
  11. data/lib/trackerific/builders/usps.rb +15 -13
  12. data/lib/trackerific/parsers.rb +8 -0
  13. data/lib/trackerific/parsers/base.rb +24 -28
  14. data/lib/trackerific/parsers/fedex.rb +43 -47
  15. data/lib/trackerific/parsers/ups.rb +49 -53
  16. data/lib/trackerific/parsers/usps.rb +44 -48
  17. data/lib/trackerific/services.rb +10 -0
  18. data/lib/trackerific/services/base.rb +82 -55
  19. data/lib/trackerific/services/concerns/soap.rb +10 -40
  20. data/lib/trackerific/services/concerns/xml.rb +15 -37
  21. data/lib/trackerific/services/fedex.rb +9 -19
  22. data/lib/trackerific/services/mock_service.rb +26 -37
  23. data/lib/trackerific/services/ups.rb +11 -24
  24. data/lib/trackerific/services/usps.rb +23 -35
  25. data/lib/trackerific/soap.rb +5 -0
  26. data/lib/trackerific/soap/wsdl.rb +8 -12
  27. data/lib/trackerific/version.rb +1 -1
  28. data/spec/lib/trackerific/services/base_spec.rb +21 -4
  29. data/spec/lib/trackerific/services/concerns/soap_spec.rb +6 -21
  30. data/spec/lib/trackerific/services/concerns/xml_spec.rb +5 -18
  31. data/spec/lib/trackerific/services/mock_service_spec.rb +12 -0
  32. data/spec/lib/trackerific/services/usps_spec.rb +4 -4
  33. data/spec/lib/trackerific/version_spec.rb +1 -1
  34. data/spec/support/test_concerns.rb +15 -0
  35. metadata +8 -2
@@ -1,23 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Trackerific::Services::Concerns::XML do
4
- class TestConcernsXML
5
- include Trackerific::Services::Concerns::XML
6
-
7
- def initialize
8
- @credentials = { user_id: 'USER ID' }
9
- end
10
- end
11
-
12
4
  subject { TestConcernsXML }
13
5
 
14
- it { should respond_to :xml_endpoint }
15
- it { should respond_to :xml_endpoint= }
16
- it { should respond_to :xml_parser }
17
- it { should respond_to :xml_parser= }
18
- it { should respond_to :xml_builder }
19
- it { should respond_to :xml_builder= }
20
-
21
6
  describe "#track" do
22
7
  let(:endpoint) { "/endpoint" }
23
8
  let(:package_id) { "PACKAGE ID" }
@@ -34,9 +19,11 @@ describe Trackerific::Services::Concerns::XML do
34
19
  let(:xml) { "<xml></xml>" }
35
20
 
36
21
  before do
37
- TestConcernsXML.stub(:xml_endpoint).and_return(endpoint)
38
- TestConcernsXML.stub(:xml_parser).and_return(parser)
39
- TestConcernsXML.stub(:xml_builder).and_return(builder)
22
+ TestConcernsXML.configure do |config|
23
+ config.endpoint = endpoint
24
+ config.parser = parser
25
+ config.builder = builder
26
+ end
40
27
 
41
28
  builder.stub(:members).and_return([:user_id, :package_id])
42
29
  builder.should_receive(:new).with('USER ID', package_id).and_return(builder_instance)
@@ -29,6 +29,18 @@ describe Trackerific::Services::MockService do
29
29
  subject { service.track(id).events }
30
30
  it { should be_a Array }
31
31
  its(:count) { should eq 3 }
32
+
33
+ it "should have the proper event values" do
34
+ subject[0].date.should be_a Date
35
+ subject[0].description.should eq "Package delivered."
36
+ subject[0].location.should eq "SANTA MARIA, CA"
37
+ subject[1].date.should be_a Date
38
+ subject[1].description.should eq "Package scanned."
39
+ subject[1].location.should eq "SANTA BARBARA, CA"
40
+ subject[2].date.should be_a Date
41
+ subject[2].description.should eq "Package picked up for delivery."
42
+ subject[2].location.should eq "LOS ANGELES, CA"
43
+ end
32
44
  end
33
45
  end
34
46
 
@@ -21,8 +21,8 @@ describe Trackerific::Services::USPS do
21
21
  it { should eq 'http://production.shippingapis.com' }
22
22
  end
23
23
 
24
- describe "#xml_endpoint" do
25
- subject { described_class.xml_endpoint }
24
+ describe "#config.xml_endpoint" do
25
+ subject { described_class.config.endpoint }
26
26
  it { should eq '/ShippingAPI.dll' }
27
27
  end
28
28
  end
@@ -35,8 +35,8 @@ describe Trackerific::Services::USPS do
35
35
  it { should eq 'http://testing.shippingapis.com' }
36
36
  end
37
37
 
38
- describe "#xml_endpoint" do
39
- subject { described_class.xml_endpoint }
38
+ describe "#config.xml_endpoint" do
39
+ subject { described_class.config.endpoint }
40
40
  it { should eq '/ShippingAPITest.dll' }
41
41
  end
42
42
  end
@@ -1,5 +1,5 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Trackerific::VERSION do
4
- it { should eq "0.7.2" }
4
+ it { should eq "0.7.3" }
5
5
  end
@@ -0,0 +1,15 @@
1
+ class TestConcernsXML < Trackerific::Services::Base
2
+ include Trackerific::Services::Concerns::XML
3
+
4
+ def initialize
5
+ @credentials = { user_id: 'USER ID' }
6
+ end
7
+ end
8
+
9
+ class TestConcernsSOAP < Trackerific::Services::Base
10
+ include Trackerific::Services::Concerns::SOAP
11
+
12
+ def initialize
13
+ @credentials = { user_id: 'USER ID' }
14
+ end
15
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trackerific
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Travis Haynes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-19 00:00:00.000000000 Z
11
+ date: 2013-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -152,7 +152,9 @@ files:
152
152
  - LICENSE.txt
153
153
  - README.rdoc
154
154
  - Rakefile
155
+ - lib/dependencies.rb
155
156
  - lib/trackerific.rb
157
+ - lib/trackerific/builders.rb
156
158
  - lib/trackerific/builders/base/soap.rb
157
159
  - lib/trackerific/builders/base/xml.rb
158
160
  - lib/trackerific/builders/fedex.rb
@@ -162,6 +164,7 @@ files:
162
164
  - lib/trackerific/environment.rb
163
165
  - lib/trackerific/error.rb
164
166
  - lib/trackerific/event.rb
167
+ - lib/trackerific/parsers.rb
165
168
  - lib/trackerific/parsers/base.rb
166
169
  - lib/trackerific/parsers/fedex.rb
167
170
  - lib/trackerific/parsers/ups.rb
@@ -174,6 +177,7 @@ files:
174
177
  - lib/trackerific/services/mock_service.rb
175
178
  - lib/trackerific/services/ups.rb
176
179
  - lib/trackerific/services/usps.rb
180
+ - lib/trackerific/soap.rb
177
181
  - lib/trackerific/soap/wsdl.rb
178
182
  - lib/trackerific/version.rb
179
183
  - spec/fixtures/fedex/error.xml
@@ -212,6 +216,7 @@ files:
212
216
  - spec/spec_helper.rb
213
217
  - spec/support/fixtures.rb
214
218
  - spec/support/reload.rb
219
+ - spec/support/test_concerns.rb
215
220
  - spec/support/test_services.rb
216
221
  - spec/support/trackerific.rb
217
222
  - trackerific.gemspec
@@ -277,5 +282,6 @@ test_files:
277
282
  - spec/spec_helper.rb
278
283
  - spec/support/fixtures.rb
279
284
  - spec/support/reload.rb
285
+ - spec/support/test_concerns.rb
280
286
  - spec/support/test_services.rb
281
287
  - spec/support/trackerific.rb