trackerific 0.2.1 → 0.3.0
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/.yardoc/checksums +6 -0
- data/.yardoc/objects/root.dat +0 -0
- data/.yardoc/proxy_types +0 -0
- data/VERSION +1 -1
- data/doc/Trackerific.html +258 -0
- data/doc/Trackerific/Base.html +390 -0
- data/doc/Trackerific/Details.html +514 -0
- data/doc/Trackerific/Error.html +127 -0
- data/doc/Trackerific/Event.html +601 -0
- data/doc/Trackerific/FedEx.html +395 -0
- data/doc/Trackerific/UPS.html +360 -0
- data/doc/Trackerific/USPS.html +453 -0
- data/doc/_index.html +195 -0
- data/doc/class_list.html +47 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +53 -0
- data/doc/css/style.css +320 -0
- data/doc/file.README.html +213 -0
- data/doc/file_list.html +49 -0
- data/doc/frames.html +13 -0
- data/doc/index.html +213 -0
- data/doc/js/app.js +205 -0
- data/doc/js/full_list.js +150 -0
- data/doc/js/jquery.js +16 -0
- data/doc/method_list.html +206 -0
- data/doc/top-level-namespace.html +103 -0
- data/lib/fedex.rb +17 -7
- data/lib/trackerific.rb +16 -2
- data/lib/trackerific_details.rb +30 -0
- data/lib/trackerific_event.rb +38 -0
- data/lib/ups.rb +40 -14
- data/lib/usps.rb +28 -5
- data/spec/lib/fedex_spec.rb +8 -10
- data/spec/lib/trackerific_details_spec.rb +19 -0
- data/spec/lib/trackerific_event_spec.rb +20 -0
- data/spec/lib/ups_spec.rb +8 -6
- data/spec/lib/usps_spec.rb +8 -10
- data/trackerific.gemspec +32 -1
- metadata +35 -4
@@ -0,0 +1,395 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<title>
|
7
|
+
Class: Trackerific::FedEx
|
8
|
+
|
9
|
+
— Documentation by YARD 0.7.1
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
|
16
|
+
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
18
|
+
relpath = '..';
|
19
|
+
if (relpath != '') relpath += '/';
|
20
|
+
</script>
|
21
|
+
|
22
|
+
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
23
|
+
|
24
|
+
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
25
|
+
|
26
|
+
|
27
|
+
</head>
|
28
|
+
<body>
|
29
|
+
<script type="text/javascript" charset="utf-8">
|
30
|
+
if (window.top.frames.main) document.body.className = 'frames';
|
31
|
+
</script>
|
32
|
+
|
33
|
+
<div id="header">
|
34
|
+
<div id="menu">
|
35
|
+
|
36
|
+
<a href="../_index.html">Index (F)</a> »
|
37
|
+
<span class='title'><span class='object_link'><a href="../Trackerific.html" title="Trackerific (module)">Trackerific</a></span></span>
|
38
|
+
»
|
39
|
+
<span class="title">FedEx</span>
|
40
|
+
|
41
|
+
|
42
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
43
|
+
</div>
|
44
|
+
|
45
|
+
<div id="search">
|
46
|
+
|
47
|
+
<a id="class_list_link" href="#">Class List</a>
|
48
|
+
|
49
|
+
<a id="method_list_link" href="#">Method List</a>
|
50
|
+
|
51
|
+
<a id="file_list_link" href="#">File List</a>
|
52
|
+
|
53
|
+
</div>
|
54
|
+
<div class="clear"></div>
|
55
|
+
</div>
|
56
|
+
|
57
|
+
<iframe id="search_frame"></iframe>
|
58
|
+
|
59
|
+
<div id="content"><h1>Class: Trackerific::FedEx
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
</h1>
|
64
|
+
|
65
|
+
<dl class="box">
|
66
|
+
|
67
|
+
<dt class="r1">Inherits:</dt>
|
68
|
+
<dd class="r1">
|
69
|
+
<span class="inheritName"><span class='object_link'><a href="Base.html" title="Trackerific::Base (class)">Base</a></span></span>
|
70
|
+
|
71
|
+
<ul class="fullTree">
|
72
|
+
<li>Object</li>
|
73
|
+
|
74
|
+
<li class="next"><span class='object_link'><a href="Base.html" title="Trackerific::Base (class)">Base</a></span></li>
|
75
|
+
|
76
|
+
<li class="next">Trackerific::FedEx</li>
|
77
|
+
|
78
|
+
</ul>
|
79
|
+
<a href="#" class="inheritanceTree">show all</a>
|
80
|
+
|
81
|
+
</dd>
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
|
88
|
+
<dt class="r2">Includes:</dt>
|
89
|
+
<dd class="r2">HTTParty</dd>
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
<dt class="r1 last">Defined in:</dt>
|
96
|
+
<dd class="r1 last">lib/fedex.rb</dd>
|
97
|
+
|
98
|
+
</dl>
|
99
|
+
<div class="clear"></div>
|
100
|
+
|
101
|
+
<h2>Overview</h2><div class="docstring">
|
102
|
+
<div class="discussion">
|
103
|
+
<p>
|
104
|
+
Provides package tracking support for FedEx
|
105
|
+
</p>
|
106
|
+
|
107
|
+
|
108
|
+
</div>
|
109
|
+
</div>
|
110
|
+
<div class="tags">
|
111
|
+
|
112
|
+
</div>
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
<h2>
|
128
|
+
Instance Method Summary
|
129
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
130
|
+
</h2>
|
131
|
+
|
132
|
+
<ul class="summary">
|
133
|
+
|
134
|
+
<li class="public ">
|
135
|
+
<span class="summary_signature">
|
136
|
+
|
137
|
+
<a href="#required_options-instance_method" title="#required_options (instance method)">- (Array) <strong>required_options</strong> </a>
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
</span>
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
<span class="summary_desc"><div class='inline'><p>
|
151
|
+
Required options for tracking a FedEx package are :account and :meter.
|
152
|
+
</p>
|
153
|
+
</div></span>
|
154
|
+
|
155
|
+
</li>
|
156
|
+
|
157
|
+
|
158
|
+
<li class="public ">
|
159
|
+
<span class="summary_signature">
|
160
|
+
|
161
|
+
<a href="#track_package-instance_method" title="#track_package (instance method)">- (Trackerific::Details) <strong>track_package</strong>(package_id) </a>
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
</span>
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
|
174
|
+
<span class="summary_desc"><div class='inline'><p>
|
175
|
+
Tracks a FedEx package.
|
176
|
+
</p>
|
177
|
+
</div></span>
|
178
|
+
|
179
|
+
</li>
|
180
|
+
|
181
|
+
|
182
|
+
</ul>
|
183
|
+
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
|
194
|
+
<h3 class="inherited">Methods inherited from <span class='object_link'><a href="Base.html" title="Trackerific::Base (class)">Base</a></span></h3>
|
195
|
+
<p class="inherited"><span class='object_link'><a href="Base.html#initialize-instance_method" title="Trackerific::Base#initialize (method)">#initialize</a></span></p>
|
196
|
+
<div id="constructor_details" class="method_details_list">
|
197
|
+
<h2>Constructor Details</h2>
|
198
|
+
|
199
|
+
<p class="notice">This class inherits a constructor from <span class='object_link'><a href="Base.html#initialize-instance_method" title="Trackerific::Base#initialize (method)">Trackerific::Base</a></span></p>
|
200
|
+
|
201
|
+
</div>
|
202
|
+
|
203
|
+
|
204
|
+
<div id="instance_method_details" class="method_details_list">
|
205
|
+
<h2>Instance Method Details</h2>
|
206
|
+
|
207
|
+
|
208
|
+
<div class="method_details first">
|
209
|
+
<p class="signature first" id="required_options-instance_method">
|
210
|
+
|
211
|
+
- (<tt>Array</tt>) <strong>required_options</strong>
|
212
|
+
|
213
|
+
|
214
|
+
|
215
|
+
</p><div class="docstring">
|
216
|
+
<div class="discussion">
|
217
|
+
<p>
|
218
|
+
Required options for tracking a FedEx package are :account and :meter.
|
219
|
+
</p>
|
220
|
+
|
221
|
+
|
222
|
+
</div>
|
223
|
+
</div>
|
224
|
+
<div class="tags">
|
225
|
+
<h3>Returns:</h3>
|
226
|
+
<ul class="return">
|
227
|
+
|
228
|
+
<li>
|
229
|
+
|
230
|
+
|
231
|
+
<span class='type'>(<tt>Array</tt>)</span>
|
232
|
+
|
233
|
+
|
234
|
+
|
235
|
+
—
|
236
|
+
<div class='inline'><p>
|
237
|
+
required options for tracking a FedEx package are :account and :meter.
|
238
|
+
</p>
|
239
|
+
</div>
|
240
|
+
|
241
|
+
</li>
|
242
|
+
|
243
|
+
</ul>
|
244
|
+
|
245
|
+
</div><table class="source_code">
|
246
|
+
<tr>
|
247
|
+
<td>
|
248
|
+
<pre class="lines">
|
249
|
+
|
250
|
+
|
251
|
+
13
|
252
|
+
14
|
253
|
+
15</pre>
|
254
|
+
</td>
|
255
|
+
<td>
|
256
|
+
<pre class="code"><span class="info file"># File 'lib/fedex.rb', line 13</span>
|
257
|
+
|
258
|
+
<span class='kw'>def</span> <span class='id required_options'>required_options</span>
|
259
|
+
<span class='lbracket'>[</span><span class='symbol'>:account</span><span class='comma'>,</span> <span class='symbol'>:meter</span><span class='rbracket'>]</span>
|
260
|
+
<span class='kw'>end</span></pre>
|
261
|
+
</td>
|
262
|
+
</tr>
|
263
|
+
</table>
|
264
|
+
</div>
|
265
|
+
|
266
|
+
<div class="method_details ">
|
267
|
+
<p class="signature " id="track_package-instance_method">
|
268
|
+
|
269
|
+
- (<tt><span class='object_link'><a href="Details.html" title="Trackerific::Details (class)">Trackerific::Details</a></span></tt>) <strong>track_package</strong>(package_id)
|
270
|
+
|
271
|
+
|
272
|
+
|
273
|
+
</p><div class="docstring">
|
274
|
+
<div class="discussion">
|
275
|
+
<p>
|
276
|
+
Tracks a FedEx package.
|
277
|
+
</p>
|
278
|
+
<p>
|
279
|
+
A Trackerific::Error is raised when a package cannot be tracked.
|
280
|
+
</p>
|
281
|
+
|
282
|
+
|
283
|
+
</div>
|
284
|
+
</div>
|
285
|
+
<div class="tags">
|
286
|
+
<h3>Returns:</h3>
|
287
|
+
<ul class="return">
|
288
|
+
|
289
|
+
<li>
|
290
|
+
|
291
|
+
|
292
|
+
<span class='type'>(<tt><span class='object_link'><a href="Details.html" title="Trackerific::Details (class)">Trackerific::Details</a></span></tt>)</span>
|
293
|
+
|
294
|
+
|
295
|
+
|
296
|
+
—
|
297
|
+
<div class='inline'><p>
|
298
|
+
the tracking details
|
299
|
+
</p>
|
300
|
+
</div>
|
301
|
+
|
302
|
+
</li>
|
303
|
+
|
304
|
+
</ul>
|
305
|
+
<h3>Raises:</h3>
|
306
|
+
<ul class="raise">
|
307
|
+
|
308
|
+
<li>
|
309
|
+
|
310
|
+
|
311
|
+
<span class='type'>(<tt><span class='object_link'><a href="Error.html" title="Trackerific::Error (class)">Trackerific::Error</a></span></tt>)</span>
|
312
|
+
|
313
|
+
|
314
|
+
|
315
|
+
</li>
|
316
|
+
|
317
|
+
</ul>
|
318
|
+
|
319
|
+
</div><table class="source_code">
|
320
|
+
<tr>
|
321
|
+
<td>
|
322
|
+
<pre class="lines">
|
323
|
+
|
324
|
+
|
325
|
+
22
|
326
|
+
23
|
327
|
+
24
|
328
|
+
25
|
329
|
+
26
|
330
|
+
27
|
331
|
+
28
|
332
|
+
29
|
333
|
+
30
|
334
|
+
31
|
335
|
+
32
|
336
|
+
33
|
337
|
+
34
|
338
|
+
35
|
339
|
+
36
|
340
|
+
37
|
341
|
+
38
|
342
|
+
39
|
343
|
+
40
|
344
|
+
41
|
345
|
+
42
|
346
|
+
43
|
347
|
+
44
|
348
|
+
45
|
349
|
+
46</pre>
|
350
|
+
</td>
|
351
|
+
<td>
|
352
|
+
<pre class="code"><span class="info file"># File 'lib/fedex.rb', line 22</span>
|
353
|
+
|
354
|
+
<span class='kw'>def</span> <span class='id track_package'>track_package</span><span class='lparen'>(</span><span class='id package_id'>package_id</span><span class='rparen'>)</span>
|
355
|
+
<span class='kw'>super</span>
|
356
|
+
<span class='id http_response'>http_response</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id class'>class</span><span class='period'>.</span><span class='id post'>post</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/GatewayDC</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:body</span> <span class='op'>=></span> <span class='id build_xml_request'>build_xml_request</span>
|
357
|
+
<span class='id http_response'>http_response</span><span class='period'>.</span><span class='id error!'>error!</span> <span class='kw'>unless</span> <span class='id http_response'>http_response</span><span class='period'>.</span><span class='id code'>code</span> <span class='op'>==</span> <span class='int'>200</span>
|
358
|
+
|
359
|
+
<span class='id track_reply'>track_reply</span> <span class='op'>=</span> <span class='id http_response'>http_response</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>FDXTrack2Reply</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span>
|
360
|
+
<span class='id raise'>raise</span> <span class='const'>Trackerific</span><span class='op'>::</span><span class='const'>Error</span><span class='comma'>,</span> <span class='id track_reply'>track_reply</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Error</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Message</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span> <span class='kw'>unless</span> <span class='id track_reply'>track_reply</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Error</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id nil?'>nil?</span>
|
361
|
+
|
362
|
+
<span class='id details'>details</span> <span class='op'>=</span> <span class='id track_reply'>track_reply</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Package</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span>
|
363
|
+
<span class='id events'>events</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
364
|
+
<span class='id details'>details</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Event</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id e'>e</span><span class='op'>|</span>
|
365
|
+
<span class='id date'>date</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id parse'>parse</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id e'>e</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Date</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id e'>e</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Time</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
366
|
+
<span class='id desc'>desc</span> <span class='op'>=</span> <span class='id e'>e</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Description</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span>
|
367
|
+
<span class='id addr'>addr</span> <span class='op'>=</span> <span class='id e'>e</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Address</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span>
|
368
|
+
<span class='comment'># Adds event in this format:
|
369
|
+
</span> <span class='comment'># MM DD HH:MM am/pm Description City State Zip
|
370
|
+
</span> <span class='id events'>events</span> <span class='op'><<</span> <span class='const'>Trackerific</span><span class='op'>::</span><span class='const'>Event</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id date'>date</span><span class='comma'>,</span> <span class='id desc'>desc</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id addr'>addr</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>StateOrProvinceCode</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id addr'>addr</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>PostalCode</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
371
|
+
<span class='kw'>end</span>
|
372
|
+
|
373
|
+
<span class='const'>Details</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span>
|
374
|
+
<span class='id details'>details</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>TrackingNumber</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
375
|
+
<span class='id details'>details</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>StatusDescription</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
376
|
+
<span class='id events'>events</span>
|
377
|
+
<span class='rparen'>)</span>
|
378
|
+
<span class='kw'>end</span></pre>
|
379
|
+
</td>
|
380
|
+
</tr>
|
381
|
+
</table>
|
382
|
+
</div>
|
383
|
+
|
384
|
+
</div>
|
385
|
+
|
386
|
+
</div>
|
387
|
+
|
388
|
+
<div id="footer">
|
389
|
+
Generated on Mon Jun 13 13:53:34 2011 by
|
390
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
391
|
+
0.7.1 (ruby-1.9.2).
|
392
|
+
</div>
|
393
|
+
|
394
|
+
</body>
|
395
|
+
</html>
|
@@ -0,0 +1,360 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<title>
|
7
|
+
Class: Trackerific::UPS
|
8
|
+
|
9
|
+
— Documentation by YARD 0.7.1
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
|
16
|
+
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
18
|
+
relpath = '..';
|
19
|
+
if (relpath != '') relpath += '/';
|
20
|
+
</script>
|
21
|
+
|
22
|
+
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
23
|
+
|
24
|
+
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
25
|
+
|
26
|
+
|
27
|
+
</head>
|
28
|
+
<body>
|
29
|
+
<script type="text/javascript" charset="utf-8">
|
30
|
+
if (window.top.frames.main) document.body.className = 'frames';
|
31
|
+
</script>
|
32
|
+
|
33
|
+
<div id="header">
|
34
|
+
<div id="menu">
|
35
|
+
|
36
|
+
<a href="../_index.html">Index (U)</a> »
|
37
|
+
<span class='title'><span class='object_link'><a href="../Trackerific.html" title="Trackerific (module)">Trackerific</a></span></span>
|
38
|
+
»
|
39
|
+
<span class="title">UPS</span>
|
40
|
+
|
41
|
+
|
42
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
43
|
+
</div>
|
44
|
+
|
45
|
+
<div id="search">
|
46
|
+
|
47
|
+
<a id="class_list_link" href="#">Class List</a>
|
48
|
+
|
49
|
+
<a id="method_list_link" href="#">Method List</a>
|
50
|
+
|
51
|
+
<a id="file_list_link" href="#">File List</a>
|
52
|
+
|
53
|
+
</div>
|
54
|
+
<div class="clear"></div>
|
55
|
+
</div>
|
56
|
+
|
57
|
+
<iframe id="search_frame"></iframe>
|
58
|
+
|
59
|
+
<div id="content"><h1>Class: Trackerific::UPS
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
</h1>
|
64
|
+
|
65
|
+
<dl class="box">
|
66
|
+
|
67
|
+
<dt class="r1">Inherits:</dt>
|
68
|
+
<dd class="r1">
|
69
|
+
<span class="inheritName"><span class='object_link'><a href="Base.html" title="Trackerific::Base (class)">Base</a></span></span>
|
70
|
+
|
71
|
+
<ul class="fullTree">
|
72
|
+
<li>Object</li>
|
73
|
+
|
74
|
+
<li class="next"><span class='object_link'><a href="Base.html" title="Trackerific::Base (class)">Base</a></span></li>
|
75
|
+
|
76
|
+
<li class="next">Trackerific::UPS</li>
|
77
|
+
|
78
|
+
</ul>
|
79
|
+
<a href="#" class="inheritanceTree">show all</a>
|
80
|
+
|
81
|
+
</dd>
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
|
88
|
+
<dt class="r2">Includes:</dt>
|
89
|
+
<dd class="r2">HTTParty</dd>
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
<dt class="r1 last">Defined in:</dt>
|
96
|
+
<dd class="r1 last">lib/ups.rb</dd>
|
97
|
+
|
98
|
+
</dl>
|
99
|
+
<div class="clear"></div>
|
100
|
+
|
101
|
+
<h2>Overview</h2><div class="docstring">
|
102
|
+
<div class="discussion">
|
103
|
+
<p>
|
104
|
+
Provides package tracking support for UPS.
|
105
|
+
</p>
|
106
|
+
|
107
|
+
|
108
|
+
</div>
|
109
|
+
</div>
|
110
|
+
<div class="tags">
|
111
|
+
|
112
|
+
</div>
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
<h2>
|
128
|
+
Instance Method Summary
|
129
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
130
|
+
</h2>
|
131
|
+
|
132
|
+
<ul class="summary">
|
133
|
+
|
134
|
+
<li class="public ">
|
135
|
+
<span class="summary_signature">
|
136
|
+
|
137
|
+
<a href="#required_options-instance_method" title="#required_options (instance method)">- (Array) <strong>required_options</strong> </a>
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
</span>
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
<span class="summary_desc"><div class='inline'><p>
|
151
|
+
The required options for tracking a UPS package are :key, :user_id, and
|
152
|
+
:password.
|
153
|
+
</p>
|
154
|
+
</div></span>
|
155
|
+
|
156
|
+
</li>
|
157
|
+
|
158
|
+
|
159
|
+
<li class="public ">
|
160
|
+
<span class="summary_signature">
|
161
|
+
|
162
|
+
<a href="#track_package-instance_method" title="#track_package (instance method)">- (Trackerific::Details) <strong>track_package</strong>(package_id) </a>
|
163
|
+
|
164
|
+
|
165
|
+
|
166
|
+
</span>
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
<span class="summary_desc"><div class='inline'><p>
|
176
|
+
Tracks a UPS package.
|
177
|
+
</p>
|
178
|
+
</div></span>
|
179
|
+
|
180
|
+
</li>
|
181
|
+
|
182
|
+
|
183
|
+
</ul>
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
<h3 class="inherited">Methods inherited from <span class='object_link'><a href="Base.html" title="Trackerific::Base (class)">Base</a></span></h3>
|
196
|
+
<p class="inherited"><span class='object_link'><a href="Base.html#initialize-instance_method" title="Trackerific::Base#initialize (method)">#initialize</a></span></p>
|
197
|
+
<div id="constructor_details" class="method_details_list">
|
198
|
+
<h2>Constructor Details</h2>
|
199
|
+
|
200
|
+
<p class="notice">This class inherits a constructor from <span class='object_link'><a href="Base.html#initialize-instance_method" title="Trackerific::Base#initialize (method)">Trackerific::Base</a></span></p>
|
201
|
+
|
202
|
+
</div>
|
203
|
+
|
204
|
+
|
205
|
+
<div id="instance_method_details" class="method_details_list">
|
206
|
+
<h2>Instance Method Details</h2>
|
207
|
+
|
208
|
+
|
209
|
+
<div class="method_details first">
|
210
|
+
<p class="signature first" id="required_options-instance_method">
|
211
|
+
|
212
|
+
- (<tt>Array</tt>) <strong>required_options</strong>
|
213
|
+
|
214
|
+
|
215
|
+
|
216
|
+
</p><div class="docstring">
|
217
|
+
<div class="discussion">
|
218
|
+
<p>
|
219
|
+
The required options for tracking a UPS package are :key, :user_id, and
|
220
|
+
:password.
|
221
|
+
</p>
|
222
|
+
|
223
|
+
|
224
|
+
</div>
|
225
|
+
</div>
|
226
|
+
<div class="tags">
|
227
|
+
<h3>Returns:</h3>
|
228
|
+
<ul class="return">
|
229
|
+
|
230
|
+
<li>
|
231
|
+
|
232
|
+
|
233
|
+
<span class='type'>(<tt>Array</tt>)</span>
|
234
|
+
|
235
|
+
|
236
|
+
|
237
|
+
—
|
238
|
+
<div class='inline'><p>
|
239
|
+
the required options for tracking a UPS package.
|
240
|
+
</p>
|
241
|
+
</div>
|
242
|
+
|
243
|
+
</li>
|
244
|
+
|
245
|
+
</ul>
|
246
|
+
|
247
|
+
</div><table class="source_code">
|
248
|
+
<tr>
|
249
|
+
<td>
|
250
|
+
<pre class="lines">
|
251
|
+
|
252
|
+
|
253
|
+
19
|
254
|
+
20
|
255
|
+
21</pre>
|
256
|
+
</td>
|
257
|
+
<td>
|
258
|
+
<pre class="code"><span class="info file"># File 'lib/ups.rb', line 19</span>
|
259
|
+
|
260
|
+
<span class='kw'>def</span> <span class='id required_options'>required_options</span>
|
261
|
+
<span class='lbracket'>[</span><span class='symbol'>:key</span><span class='comma'>,</span> <span class='symbol'>:user_id</span><span class='comma'>,</span> <span class='symbol'>:password</span><span class='rbracket'>]</span>
|
262
|
+
<span class='kw'>end</span></pre>
|
263
|
+
</td>
|
264
|
+
</tr>
|
265
|
+
</table>
|
266
|
+
</div>
|
267
|
+
|
268
|
+
<div class="method_details ">
|
269
|
+
<p class="signature " id="track_package-instance_method">
|
270
|
+
|
271
|
+
- (<tt><span class='object_link'><a href="Details.html" title="Trackerific::Details (class)">Trackerific::Details</a></span></tt>) <strong>track_package</strong>(package_id)
|
272
|
+
|
273
|
+
|
274
|
+
|
275
|
+
</p><div class="docstring">
|
276
|
+
<div class="discussion">
|
277
|
+
<p>
|
278
|
+
Tracks a UPS package. A Trackerific::Error is raised when a package cannot
|
279
|
+
be tracked.
|
280
|
+
</p>
|
281
|
+
|
282
|
+
|
283
|
+
</div>
|
284
|
+
</div>
|
285
|
+
<div class="tags">
|
286
|
+
<h3>Returns:</h3>
|
287
|
+
<ul class="return">
|
288
|
+
|
289
|
+
<li>
|
290
|
+
|
291
|
+
|
292
|
+
<span class='type'>(<tt><span class='object_link'><a href="Details.html" title="Trackerific::Details (class)">Trackerific::Details</a></span></tt>)</span>
|
293
|
+
|
294
|
+
|
295
|
+
|
296
|
+
—
|
297
|
+
<div class='inline'><p>
|
298
|
+
the tracking details
|
299
|
+
</p>
|
300
|
+
</div>
|
301
|
+
|
302
|
+
</li>
|
303
|
+
|
304
|
+
</ul>
|
305
|
+
|
306
|
+
</div><table class="source_code">
|
307
|
+
<tr>
|
308
|
+
<td>
|
309
|
+
<pre class="lines">
|
310
|
+
|
311
|
+
|
312
|
+
26
|
313
|
+
27
|
314
|
+
28
|
315
|
+
29
|
316
|
+
30
|
317
|
+
31
|
318
|
+
32
|
319
|
+
33
|
320
|
+
34
|
321
|
+
35
|
322
|
+
36
|
323
|
+
37
|
324
|
+
38
|
325
|
+
39</pre>
|
326
|
+
</td>
|
327
|
+
<td>
|
328
|
+
<pre class="code"><span class="info file"># File 'lib/ups.rb', line 26</span>
|
329
|
+
|
330
|
+
<span class='kw'>def</span> <span class='id track_package'>track_package</span><span class='lparen'>(</span><span class='id package_id'>package_id</span><span class='rparen'>)</span>
|
331
|
+
<span class='kw'>super</span>
|
332
|
+
<span class='comment'># connect to UPS via HTTParty
|
333
|
+
</span> <span class='id http_response'>http_response</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id class'>class</span><span class='period'>.</span><span class='id post'>post</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/Track</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='symbol'>:body</span> <span class='op'>=></span> <span class='id build_xml_request'>build_xml_request</span><span class='rparen'>)</span>
|
334
|
+
<span class='comment'># throw any HTTP errors
|
335
|
+
</span> <span class='id http_response'>http_response</span><span class='period'>.</span><span class='id error!'>error!</span> <span class='kw'>unless</span> <span class='id http_response'>http_response</span><span class='period'>.</span><span class='id code'>code</span> <span class='op'>==</span> <span class='int'>200</span>
|
336
|
+
<span class='comment'># Check the response for errors, return a Trackerific::Error, or parse
|
337
|
+
</span> <span class='comment'># the response from UPS and return a Trackerific::Details
|
338
|
+
</span> <span class='kw'>case</span> <span class='id http_response'>http_response</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>TrackResponse</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Response</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ResponseStatusCode</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
|
339
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>0</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='id raise'>raise</span> <span class='const'>Trackerific</span><span class='op'>::</span><span class='const'>Error</span><span class='comma'>,</span> <span class='id parse_error_response'>parse_error_response</span><span class='lparen'>(</span><span class='id http_response'>http_response</span><span class='rparen'>)</span>
|
340
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>1</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='kw'>return</span> <span class='id parse_success_response'>parse_success_response</span><span class='lparen'>(</span><span class='id http_response'>http_response</span><span class='rparen'>)</span>
|
341
|
+
<span class='kw'>else</span> <span class='id raise'>raise</span> <span class='const'>Trackerific</span><span class='op'>::</span><span class='const'>Error</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Invalid response code returned from server.</span><span class='tstring_end'>"</span></span>
|
342
|
+
<span class='kw'>end</span>
|
343
|
+
<span class='kw'>end</span></pre>
|
344
|
+
</td>
|
345
|
+
</tr>
|
346
|
+
</table>
|
347
|
+
</div>
|
348
|
+
|
349
|
+
</div>
|
350
|
+
|
351
|
+
</div>
|
352
|
+
|
353
|
+
<div id="footer">
|
354
|
+
Generated on Mon Jun 13 13:53:33 2011 by
|
355
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
356
|
+
0.7.1 (ruby-1.9.2).
|
357
|
+
</div>
|
358
|
+
|
359
|
+
</body>
|
360
|
+
</html>
|