trackerific 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><soapenv:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><v4:TrackReply xmlns:v3="http://fedex.com/ws/track/v3" xmlns:v4="http://fedex.com/ws/track/v4"><v4:HighestSeverity>SUCCESS</v4:HighestSeverity><v4:Notifications><v4:Severity>SUCCESS</v4:Severity><v4:Source>trck</v4:Source><v4:Code>0</v4:Code><v4:Message>Request was successfully processed.</v4:Message><v4:LocalizedMessage>Request was successfully processed.</v4:LocalizedMessage></v4:Notifications><v4:TransactionDetail xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
3
+ <v4:CustomerTransactionId>TC030_WSVC_Track_v4 _POS</v4:CustomerTransactionId>
4
+ <v4:Localization>
5
+ <v4:LanguageCode>EN</v4:LanguageCode>
6
+ </v4:Localization>
7
+ </v4:TransactionDetail><v4:Version xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
8
+ <v4:ServiceId>trck</v4:ServiceId>
9
+ <v4:Major>4</v4:Major>
10
+ <v4:Intermediate>0</v4:Intermediate>
11
+ <v4:Minor>0</v4:Minor>
12
+ </v4:Version><v4:DuplicateWaybill>false</v4:DuplicateWaybill><v4:MoreData>false</v4:MoreData><v4:TrackDetails><v4:TrackingNumber>900002707641</v4:TrackingNumber><v4:TrackingNumberUniqueIdentifier>2454532000~900002707641</v4:TrackingNumberUniqueIdentifier><v4:StatusCode>DL</v4:StatusCode><v4:StatusDescription>Delivered</v4:StatusDescription><v4:CarrierCode>FDXE</v4:CarrierCode><v4:OtherIdentifiers><v4:Value>STATION 7</v4:Value><v4:Type>DEPARTMENT</v4:Type></v4:OtherIdentifiers><v4:OtherIdentifiers><v4:Value>699358 JC BILL</v4:Value><v4:Type>SHIPPER_REFERENCE</v4:Type></v4:OtherIdentifiers><v4:ServiceInfo>Standard Overnight</v4:ServiceInfo><v4:ServiceType>STANDARD_OVERNIGHT</v4:ServiceType><v4:PackageWeight><v4:Units>LB</v4:Units><v4:Value>4.0</v4:Value></v4:PackageWeight><v4:ShipmentWeight><v4:Units>LB</v4:Units><v4:Value>4.0</v4:Value></v4:ShipmentWeight><v4:Packaging>Your Packaging</v4:Packaging><v4:PackageSequenceNumber>1</v4:PackageSequenceNumber><v4:PackageCount>1</v4:PackageCount><v4:ShipTimestamp>2008-03-06T17:20:00-08:00</v4:ShipTimestamp><v4:DestinationAddress><v4:City>ALSIP</v4:City><v4:StateOrProvinceCode>IL</v4:StateOrProvinceCode><v4:CountryCode>US</v4:CountryCode><v4:Residential>false</v4:Residential></v4:DestinationAddress><v4:ActualDeliveryTimestamp>2008-03-07T09:14:00-06:00</v4:ActualDeliveryTimestamp><v4:ActualDeliveryAddress><v4:City>ALSIP</v4:City><v4:StateOrProvinceCode>IL</v4:StateOrProvinceCode><v4:CountryCode>US</v4:CountryCode><v4:Residential>false</v4:Residential></v4:ActualDeliveryAddress><v4:DeliveryLocationType>PHARMACY</v4:DeliveryLocationType><v4:DeliveryLocationDescription>Pharmacy</v4:DeliveryLocationDescription><v4:DeliverySignatureName>P.DORIGAN</v4:DeliverySignatureName><v4:SignatureProofOfDeliveryAvailable>true</v4:SignatureProofOfDeliveryAvailable><v4:ProofOfDeliveryNotificationsAvailable>true</v4:ProofOfDeliveryNotificationsAvailable><v4:ExceptionNotificationsAvailable>false</v4:ExceptionNotificationsAvailable><v4:Events><v4:Timestamp>2008-03-07T09:14:00-06:00</v4:Timestamp><v4:EventType>DL</v4:EventType><v4:EventDescription>Delivered</v4:EventDescription><v4:Address><v4:City>ALSIP</v4:City><v4:StateOrProvinceCode>IL</v4:StateOrProvinceCode><v4:PostalCode>60803</v4:PostalCode><v4:CountryCode>US</v4:CountryCode><v4:Residential>false</v4:Residential></v4:Address><v4:ArrivalLocation>DELIVERY_LOCATION</v4:ArrivalLocation></v4:Events></v4:TrackDetails></v4:TrackReply></soapenv:Body></soapenv:Envelope>
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0"?>
2
+ <TrackResponse>
3
+ <Response>
4
+ <ResponseStatusCode>0</ResponseStatusCode>
5
+ <ResponseStatusDescription>Failure</ResponseStatusDescription>
6
+ <Error>
7
+ <ErrorSeverity>Hard</ErrorSeverity>
8
+ <ErrorCode>10002</ErrorCode>
9
+ <ErrorDescription>The XML document is well formed but the document is not valid</ErrorDescription>
10
+ </Error>
11
+ </Response>
12
+ </TrackResponse>
@@ -0,0 +1,65 @@
1
+ <?xml version="1.0" encoding="ISO-8859-1"?>
2
+ <TrackResponse>
3
+ <Response>
4
+ <TransactionReference>
5
+ <CustomerContext>Your Test case summary Description</CustomerContext>
6
+ <XpciVersion>1.0</XpciVersion>
7
+ </TransactionReference>
8
+ <ResponseStatusCode>1</ResponseStatusCode>
9
+ <ResponseStatusDescription>Success</ResponseStatusDescription>
10
+ </Response>
11
+ <Shipment>
12
+ <Shipper>
13
+ <ShipperNumber>F00100</ShipperNumber>
14
+ <Address>
15
+ <City>HOBOKEN</City>
16
+ <StateProvinceCode>NJ</StateProvinceCode>
17
+ <PostalCode>07030</PostalCode>
18
+ <CountryCode>US</CountryCode>
19
+ </Address>
20
+ </Shipper>
21
+ <ShipmentWeight>
22
+ <UnitOfMeasurement>
23
+ <Code>LBS</Code>
24
+ </UnitOfMeasurement>
25
+ <Weight>35.00</Weight>
26
+ </ShipmentWeight>
27
+ <Service>
28
+ <Code>02</Code>
29
+ <Description>2ND DAY AIR</Description>
30
+ </Service>
31
+ <ShipmentIdentificationNumber>ATrackingNumber</ShipmentIdentificationNumber>
32
+ <Package>
33
+ <TrackingNumber>ATrackingNumber</TrackingNumber>
34
+ <Activity>
35
+ <ActivityLocation>
36
+ <Address>
37
+ <City>MAYSVILLE</City>
38
+ <PostalCode>26833 9700</PostalCode>
39
+ <CountryCode>US</CountryCode>
40
+ </Address>
41
+ <Code>MG</Code>
42
+ <Description>MET CUST MAN</Description>
43
+ <SignedForByName>Larry</SignedForByName>
44
+ </ActivityLocation>
45
+ <Status>
46
+ <StatusType>
47
+ <Code>D</Code>
48
+ <Description>DELIVERED</Description>
49
+ </StatusType>
50
+ <StatusCode>
51
+ <Code>KB</Code>
52
+ </StatusCode>
53
+ </Status>
54
+ <Date>20030313</Date>
55
+ <Time>160000</Time>
56
+ </Activity>
57
+ <PackageWeight>
58
+ <UnitOfMeasurement>
59
+ <Code>LBS</Code>
60
+ </UnitOfMeasurement>
61
+ <Weight>35.00</Weight>
62
+ </PackageWeight>
63
+ </Package>
64
+ </Shipment>
65
+ </TrackResponse>
@@ -0,0 +1,5 @@
1
+ require 'spec_helper'
2
+
3
+ describe Trackerific::FedEx do
4
+
5
+ end
@@ -0,0 +1,5 @@
1
+ require 'spec_helper'
2
+
3
+ describe Trackerific::SoapClient do
4
+
5
+ end
@@ -0,0 +1,8 @@
1
+ require 'spec_helper'
2
+
3
+ describe Trackerific::Base do
4
+
5
+ it { should respond_to :track_package }
6
+ it { should respond_to :required_options }
7
+
8
+ end
@@ -0,0 +1,41 @@
1
+ require 'spec_helper'
2
+ require 'fakeweb'
3
+
4
+ UPS_TRACK_URL = 'https://wwwcie.ups.com/ups.app/xml/Track'
5
+
6
+ describe "Trackerific::UPS" do
7
+ include Fixtures
8
+
9
+ before(:all) do
10
+ @package_id = '1Z12345E0291980793'
11
+ @ups = Trackerific::UPS.new :key => 'testkey', :user_id => 'testuser', :password => 'secret'
12
+ end
13
+
14
+ describe "track_package" do
15
+ context "with a successful response from the server" do
16
+ before(:all) do
17
+ FakeWeb.register_uri(
18
+ :post,
19
+ UPS_TRACK_URL,
20
+ :body => load_fixture(:ups_success_response)
21
+ )
22
+ @valid_response = {
23
+ :package_id=>@package_id,
24
+ :summary=>"Mar 13 04:00 pm DELIVERED",
25
+ :details=>[]
26
+ }
27
+ end
28
+ specify { @ups.track_package(@package_id).should eq @valid_response }
29
+ end
30
+ context "with an error response from the server" do
31
+ before(:all) do
32
+ FakeWeb.register_uri(
33
+ :post,
34
+ UPS_TRACK_URL,
35
+ :body => load_fixture(:ups_error_response)
36
+ )
37
+ end
38
+ specify { lambda { @ups.track_package("invalid package id") }.should raise_error(Trackerific::Error) }
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,5 @@
1
+ require 'spec_helper'
2
+
3
+ describe Trackerific::USPS do
4
+
5
+ end
@@ -0,0 +1,10 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+ require 'trackerific'
4
+
5
+ # load all the support files
6
+ Dir["spec/support/**/*.rb"].each { |f| require File.expand_path(f) }
7
+ require 'rspec/rails' # this has to be loaded after the support files
8
+ RSpec.configure do |config|
9
+ config.mock_with :rspec
10
+ end
@@ -0,0 +1,16 @@
1
+ module Fixtures
2
+
3
+ FIXTURES_PATH = "spec/fixtures/"
4
+
5
+ def load_fixture(name, ext = :xml)
6
+
7
+ file_name = File.join(FIXTURES_PATH, "#{name.to_s}.#{ext.to_s}")
8
+ f = File.open(file_name, 'r')
9
+ data = "";
10
+ f.lines.each { |line| data += line }
11
+ f.close
12
+ return data
13
+
14
+ end
15
+
16
+ end
@@ -0,0 +1,27 @@
1
+ require 'rails'
2
+
3
+ require "action_controller/railtie"
4
+ require "action_mailer/railtie"
5
+ require "active_resource/railtie"
6
+ require "rails/test_unit/railtie"
7
+
8
+ module Trackerific
9
+ class Application < Rails::Application
10
+ config.encoding = 'utf-8'
11
+ end
12
+
13
+ Application.configure do
14
+ config.cache_classes = true
15
+ config.whiny_nils = true
16
+ config.consider_all_requests_local = true
17
+ config.action_controller.perform_caching = false
18
+ config.action_dispatch.show_exceptions = false
19
+ config.action_controller.allow_forgery_protection = false
20
+ config.action_mailer.delivery_method = :test
21
+ config.active_support.deprecation = :stderr
22
+ end
23
+ end
24
+
25
+ puts "Loading Rails environment ..."
26
+ Rails.env = 'test'
27
+ Trackerific::Application.initialize!
@@ -0,0 +1,113 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{trackerific}
8
+ s.version = "0.1.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Travis Haynes"]
12
+ s.date = %q{2011-06-10}
13
+ s.description = %q{Trackerific provides USPS, FedEx and UPS package tracking to Rails.}
14
+ s.email = %q{travis.j.haynes@gmail.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".rspec",
22
+ "Gemfile",
23
+ "Gemfile.lock",
24
+ "LICENSE.txt",
25
+ "README.rdoc",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "lib/fedex.rb",
29
+ "lib/soap_client.rb",
30
+ "lib/trackerific.rb",
31
+ "lib/ups.rb",
32
+ "lib/usps.rb",
33
+ "lib/wsdl/fedex/development.wsdl",
34
+ "lib/wsdl/fedex/production.wsdl",
35
+ "spec/fixtures/fedex_success_response.xml",
36
+ "spec/fixtures/ups_error_response.xml",
37
+ "spec/fixtures/ups_success_response.xml",
38
+ "spec/lib/fedex_spec.rb",
39
+ "spec/lib/soap_client_spec.rb",
40
+ "spec/lib/trackerific_spec.rb",
41
+ "spec/lib/ups_spec.rb",
42
+ "spec/lib/usps_spec.rb",
43
+ "spec/spec_helper.rb",
44
+ "spec/support/fixtures.rb",
45
+ "spec/support/trackerific_test_app.rb",
46
+ "trackerific.gemspec"
47
+ ]
48
+ s.homepage = %q{http://github.com/travishaynes/trackerific}
49
+ s.licenses = ["MIT"]
50
+ s.require_paths = ["lib"]
51
+ s.rubygems_version = %q{1.3.7}
52
+ s.summary = %q{Trackerific provides package tracking to Rails.}
53
+ s.test_files = [
54
+ "spec/lib/fedex_spec.rb",
55
+ "spec/lib/soap_client_spec.rb",
56
+ "spec/lib/trackerific_spec.rb",
57
+ "spec/lib/ups_spec.rb",
58
+ "spec/lib/usps_spec.rb",
59
+ "spec/spec_helper.rb",
60
+ "spec/support/fixtures.rb",
61
+ "spec/support/trackerific_test_app.rb"
62
+ ]
63
+
64
+ if s.respond_to? :specification_version then
65
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
66
+ s.specification_version = 3
67
+
68
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
69
+ s.add_runtime_dependency(%q<rails>, [">= 3.0.0"])
70
+ s.add_runtime_dependency(%q<httparty>, [">= 0"])
71
+ s.add_runtime_dependency(%q<builder>, [">= 0"])
72
+ s.add_runtime_dependency(%q<savon>, [">= 0"])
73
+ s.add_runtime_dependency(%q<curb>, [">= 0"])
74
+ s.add_development_dependency(%q<bundler>, [">= 0"])
75
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
76
+ s.add_development_dependency(%q<rspec>, [">= 0"])
77
+ s.add_development_dependency(%q<rspec-rails>, [">= 0"])
78
+ s.add_runtime_dependency(%q<builder>, ["~> 2.1.2"])
79
+ s.add_runtime_dependency(%q<xml-simple>, ["~> 1.0.15"])
80
+ s.add_runtime_dependency(%q<savon>, ["~> 0.8.6"])
81
+ s.add_runtime_dependency(%q<curb>, ["~> 0.7.15"])
82
+ else
83
+ s.add_dependency(%q<rails>, [">= 3.0.0"])
84
+ s.add_dependency(%q<httparty>, [">= 0"])
85
+ s.add_dependency(%q<builder>, [">= 0"])
86
+ s.add_dependency(%q<savon>, [">= 0"])
87
+ s.add_dependency(%q<curb>, [">= 0"])
88
+ s.add_dependency(%q<bundler>, [">= 0"])
89
+ s.add_dependency(%q<jeweler>, [">= 0"])
90
+ s.add_dependency(%q<rspec>, [">= 0"])
91
+ s.add_dependency(%q<rspec-rails>, [">= 0"])
92
+ s.add_dependency(%q<builder>, ["~> 2.1.2"])
93
+ s.add_dependency(%q<xml-simple>, ["~> 1.0.15"])
94
+ s.add_dependency(%q<savon>, ["~> 0.8.6"])
95
+ s.add_dependency(%q<curb>, ["~> 0.7.15"])
96
+ end
97
+ else
98
+ s.add_dependency(%q<rails>, [">= 3.0.0"])
99
+ s.add_dependency(%q<httparty>, [">= 0"])
100
+ s.add_dependency(%q<builder>, [">= 0"])
101
+ s.add_dependency(%q<savon>, [">= 0"])
102
+ s.add_dependency(%q<curb>, [">= 0"])
103
+ s.add_dependency(%q<bundler>, [">= 0"])
104
+ s.add_dependency(%q<jeweler>, [">= 0"])
105
+ s.add_dependency(%q<rspec>, [">= 0"])
106
+ s.add_dependency(%q<rspec-rails>, [">= 0"])
107
+ s.add_dependency(%q<builder>, ["~> 2.1.2"])
108
+ s.add_dependency(%q<xml-simple>, ["~> 1.0.15"])
109
+ s.add_dependency(%q<savon>, ["~> 0.8.6"])
110
+ s.add_dependency(%q<curb>, ["~> 0.7.15"])
111
+ end
112
+ end
113
+
metadata ADDED
@@ -0,0 +1,277 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: trackerific
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ - 1
9
+ version: 0.1.1
10
+ platform: ruby
11
+ authors:
12
+ - Travis Haynes
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2011-06-10 00:00:00 -07:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: rails
22
+ requirement: &id001 !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 3
29
+ - 0
30
+ - 0
31
+ version: 3.0.0
32
+ type: :runtime
33
+ prerelease: false
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: httparty
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ segments:
43
+ - 0
44
+ version: "0"
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: builder
50
+ requirement: &id003 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ segments:
56
+ - 0
57
+ version: "0"
58
+ type: :runtime
59
+ prerelease: false
60
+ version_requirements: *id003
61
+ - !ruby/object:Gem::Dependency
62
+ name: savon
63
+ requirement: &id004 !ruby/object:Gem::Requirement
64
+ none: false
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ segments:
69
+ - 0
70
+ version: "0"
71
+ type: :runtime
72
+ prerelease: false
73
+ version_requirements: *id004
74
+ - !ruby/object:Gem::Dependency
75
+ name: curb
76
+ requirement: &id005 !ruby/object:Gem::Requirement
77
+ none: false
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ segments:
82
+ - 0
83
+ version: "0"
84
+ type: :runtime
85
+ prerelease: false
86
+ version_requirements: *id005
87
+ - !ruby/object:Gem::Dependency
88
+ name: bundler
89
+ requirement: &id006 !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ segments:
95
+ - 0
96
+ version: "0"
97
+ type: :development
98
+ prerelease: false
99
+ version_requirements: *id006
100
+ - !ruby/object:Gem::Dependency
101
+ name: jeweler
102
+ requirement: &id007 !ruby/object:Gem::Requirement
103
+ none: false
104
+ requirements:
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ segments:
108
+ - 0
109
+ version: "0"
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: *id007
113
+ - !ruby/object:Gem::Dependency
114
+ name: rspec
115
+ requirement: &id008 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ segments:
121
+ - 0
122
+ version: "0"
123
+ type: :development
124
+ prerelease: false
125
+ version_requirements: *id008
126
+ - !ruby/object:Gem::Dependency
127
+ name: rspec-rails
128
+ requirement: &id009 !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ segments:
134
+ - 0
135
+ version: "0"
136
+ type: :development
137
+ prerelease: false
138
+ version_requirements: *id009
139
+ - !ruby/object:Gem::Dependency
140
+ name: builder
141
+ requirement: &id010 !ruby/object:Gem::Requirement
142
+ none: false
143
+ requirements:
144
+ - - ~>
145
+ - !ruby/object:Gem::Version
146
+ segments:
147
+ - 2
148
+ - 1
149
+ - 2
150
+ version: 2.1.2
151
+ type: :runtime
152
+ prerelease: false
153
+ version_requirements: *id010
154
+ - !ruby/object:Gem::Dependency
155
+ name: xml-simple
156
+ requirement: &id011 !ruby/object:Gem::Requirement
157
+ none: false
158
+ requirements:
159
+ - - ~>
160
+ - !ruby/object:Gem::Version
161
+ segments:
162
+ - 1
163
+ - 0
164
+ - 15
165
+ version: 1.0.15
166
+ type: :runtime
167
+ prerelease: false
168
+ version_requirements: *id011
169
+ - !ruby/object:Gem::Dependency
170
+ name: savon
171
+ requirement: &id012 !ruby/object:Gem::Requirement
172
+ none: false
173
+ requirements:
174
+ - - ~>
175
+ - !ruby/object:Gem::Version
176
+ segments:
177
+ - 0
178
+ - 8
179
+ - 6
180
+ version: 0.8.6
181
+ type: :runtime
182
+ prerelease: false
183
+ version_requirements: *id012
184
+ - !ruby/object:Gem::Dependency
185
+ name: curb
186
+ requirement: &id013 !ruby/object:Gem::Requirement
187
+ none: false
188
+ requirements:
189
+ - - ~>
190
+ - !ruby/object:Gem::Version
191
+ segments:
192
+ - 0
193
+ - 7
194
+ - 15
195
+ version: 0.7.15
196
+ type: :runtime
197
+ prerelease: false
198
+ version_requirements: *id013
199
+ description: Trackerific provides USPS, FedEx and UPS package tracking to Rails.
200
+ email: travis.j.haynes@gmail.com
201
+ executables: []
202
+
203
+ extensions: []
204
+
205
+ extra_rdoc_files:
206
+ - LICENSE.txt
207
+ - README.rdoc
208
+ files:
209
+ - .document
210
+ - .rspec
211
+ - Gemfile
212
+ - Gemfile.lock
213
+ - LICENSE.txt
214
+ - README.rdoc
215
+ - Rakefile
216
+ - VERSION
217
+ - lib/fedex.rb
218
+ - lib/soap_client.rb
219
+ - lib/trackerific.rb
220
+ - lib/ups.rb
221
+ - lib/usps.rb
222
+ - lib/wsdl/fedex/development.wsdl
223
+ - lib/wsdl/fedex/production.wsdl
224
+ - spec/fixtures/fedex_success_response.xml
225
+ - spec/fixtures/ups_error_response.xml
226
+ - spec/fixtures/ups_success_response.xml
227
+ - spec/lib/fedex_spec.rb
228
+ - spec/lib/soap_client_spec.rb
229
+ - spec/lib/trackerific_spec.rb
230
+ - spec/lib/ups_spec.rb
231
+ - spec/lib/usps_spec.rb
232
+ - spec/spec_helper.rb
233
+ - spec/support/fixtures.rb
234
+ - spec/support/trackerific_test_app.rb
235
+ - trackerific.gemspec
236
+ has_rdoc: true
237
+ homepage: http://github.com/travishaynes/trackerific
238
+ licenses:
239
+ - MIT
240
+ post_install_message:
241
+ rdoc_options: []
242
+
243
+ require_paths:
244
+ - lib
245
+ required_ruby_version: !ruby/object:Gem::Requirement
246
+ none: false
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ hash: 424040065
251
+ segments:
252
+ - 0
253
+ version: "0"
254
+ required_rubygems_version: !ruby/object:Gem::Requirement
255
+ none: false
256
+ requirements:
257
+ - - ">="
258
+ - !ruby/object:Gem::Version
259
+ segments:
260
+ - 0
261
+ version: "0"
262
+ requirements: []
263
+
264
+ rubyforge_project:
265
+ rubygems_version: 1.3.7
266
+ signing_key:
267
+ specification_version: 3
268
+ summary: Trackerific provides package tracking to Rails.
269
+ test_files:
270
+ - spec/lib/fedex_spec.rb
271
+ - spec/lib/soap_client_spec.rb
272
+ - spec/lib/trackerific_spec.rb
273
+ - spec/lib/ups_spec.rb
274
+ - spec/lib/usps_spec.rb
275
+ - spec/spec_helper.rb
276
+ - spec/support/fixtures.rb
277
+ - spec/support/trackerific_test_app.rb