postalmethods 1.0.1 → 1.1.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.
@@ -0,0 +1,333 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>
3
+ <head>
4
+ <title>
5
+ lib/postalmethods/exceptions.rb - C0 code coverage information
6
+ </title>
7
+ <style type='text/css'>
8
+ body { background-color: rgb(240, 240, 245); }
9
+ </style>
10
+ <style type='text/css'>
11
+ span.cross-ref-title { font-size: 140%; } span.cross-ref a {
12
+ text-decoration: none; } span.cross-ref { background-color:#f3f7fa;
13
+ border: 1px dashed #333; margin: 1em; padding: 0.5em; overflow: hidden; }
14
+ a.crossref-toggle { text-decoration: none; } span.marked0 {
15
+ background-color: rgb(185, 210, 200); display: block; } span.marked1 {
16
+ background-color: rgb(190, 215, 205); display: block; } span.inferred0 {
17
+ background-color: rgb(175, 200, 200); display: block; } span.inferred1 {
18
+ background-color: rgb(180, 205, 205); display: block; } span.uncovered0 {
19
+ background-color: rgb(225, 110, 110); display: block; } span.uncovered1 {
20
+ background-color: rgb(235, 120, 120); display: block; } span.overview {
21
+ border-bottom: 8px solid black; } div.overview { border-bottom: 8px solid
22
+ black; } body { font-family: verdana, arial, helvetica; } div.footer {
23
+ font-size: 68%; margin-top: 1.5em; } h1, h2, h3, h4, h5, h6 {
24
+ margin-bottom: 0.5em; } h5 { margin-top: 0.5em; } .hidden { display: none;
25
+ } div.separator { height: 10px; } /* Commented out for better readability,
26
+ esp. on IE */ /* table tr td, table tr th { font-size: 68%; } td.value
27
+ table tr td { font-size: 11px; } */ table.percent_graph { height: 12px;
28
+ border: #808080 1px solid; empty-cells: show; } table.percent_graph
29
+ td.covered { height: 10px; background: #00f000; } table.percent_graph
30
+ td.uncovered { height: 10px; background: #e00000; } table.percent_graph
31
+ td.NA { height: 10px; background: #eaeaea; } table.report {
32
+ border-collapse: collapse; width: 100%; } table.report td.heading {
33
+ background: #dcecff; border: #d0d0d0 1px solid; font-weight: bold;
34
+ text-align: center; } table.report td.heading:hover { background: #c0ffc0;
35
+ } table.report td.text { border: #d0d0d0 1px solid; } table.report
36
+ td.value, table.report td.lines_total, table.report td.lines_code {
37
+ text-align: right; border: #d0d0d0 1px solid; } table.report tr.light {
38
+ background-color: rgb(240, 240, 245); } table.report tr.dark {
39
+ background-color: rgb(230, 230, 235); }
40
+ </style>
41
+ <script type='text/javascript'>
42
+ // <![CDATA[ function toggleCode( id ) { if ( document.getElementById )
43
+ elem = document.getElementById( id ); else if ( document.all ) elem =
44
+ eval( "document.all." + id ); else return false; elemStyle = elem.style;
45
+ if ( elemStyle.display != "block" ) { elemStyle.display = "block" } else {
46
+ elemStyle.display = "none" } return true; } // Make cross-references
47
+ hidden by default document.writeln( "<style
48
+ type=\"text/css\">span.cross-ref { display: none }</style>" ) // ]]>
49
+ </script>
50
+ <style type='text/css'>
51
+ span.run0 { background-color: rgb(178, 204, 255); display: block; }
52
+ span.run1 { background-color: rgb(178, 206, 255); display: block; }
53
+ span.run2 { background-color: rgb(178, 209, 255); display: block; }
54
+ span.run3 { background-color: rgb(178, 211, 255); display: block; }
55
+ span.run4 { background-color: rgb(178, 214, 255); display: block; }
56
+ span.run5 { background-color: rgb(178, 218, 255); display: block; }
57
+ span.run6 { background-color: rgb(178, 220, 255); display: block; }
58
+ span.run7 { background-color: rgb(178, 223, 255); display: block; }
59
+ span.run8 { background-color: rgb(178, 225, 255); display: block; }
60
+ span.run9 { background-color: rgb(178, 228, 255); display: block; }
61
+ span.run10 { background-color: rgb(178, 232, 255); display: block; }
62
+ span.run11 { background-color: rgb(178, 234, 255); display: block; }
63
+ span.run12 { background-color: rgb(178, 237, 255); display: block; }
64
+ span.run13 { background-color: rgb(178, 239, 255); display: block; }
65
+ span.run14 { background-color: rgb(178, 242, 255); display: block; }
66
+ span.run15 { background-color: rgb(178, 246, 255); display: block; }
67
+ span.run16 { background-color: rgb(178, 248, 255); display: block; }
68
+ span.run17 { background-color: rgb(178, 251, 255); display: block; }
69
+ span.run18 { background-color: rgb(178, 253, 255); display: block; }
70
+ span.run19 { background-color: rgb(178, 255, 253); display: block; }
71
+ span.run20 { background-color: rgb(178, 255, 249); display: block; }
72
+ span.run21 { background-color: rgb(178, 255, 247); display: block; }
73
+ span.run22 { background-color: rgb(178, 255, 244); display: block; }
74
+ span.run23 { background-color: rgb(178, 255, 242); display: block; }
75
+ span.run24 { background-color: rgb(178, 255, 239); display: block; }
76
+ span.run25 { background-color: rgb(178, 255, 235); display: block; }
77
+ span.run26 { background-color: rgb(178, 255, 233); display: block; }
78
+ span.run27 { background-color: rgb(178, 255, 230); display: block; }
79
+ span.run28 { background-color: rgb(178, 255, 228); display: block; }
80
+ span.run29 { background-color: rgb(178, 255, 225); display: block; }
81
+ span.run30 { background-color: rgb(178, 255, 221); display: block; }
82
+ span.run31 { background-color: rgb(178, 255, 219); display: block; }
83
+ span.run32 { background-color: rgb(178, 255, 216); display: block; }
84
+ span.run33 { background-color: rgb(178, 255, 214); display: block; }
85
+ span.run34 { background-color: rgb(178, 255, 211); display: block; }
86
+ span.run35 { background-color: rgb(178, 255, 207); display: block; }
87
+ span.run36 { background-color: rgb(178, 255, 205); display: block; }
88
+ span.run37 { background-color: rgb(178, 255, 202); display: block; }
89
+ span.run38 { background-color: rgb(178, 255, 200); display: block; }
90
+ span.run39 { background-color: rgb(178, 255, 197); display: block; }
91
+ span.run40 { background-color: rgb(178, 255, 193); display: block; }
92
+ span.run41 { background-color: rgb(178, 255, 191); display: block; }
93
+ span.run42 { background-color: rgb(178, 255, 188); display: block; }
94
+ span.run43 { background-color: rgb(178, 255, 186); display: block; }
95
+ span.run44 { background-color: rgb(178, 255, 183); display: block; }
96
+ span.run45 { background-color: rgb(178, 255, 179); display: block; }
97
+ span.run46 { background-color: rgb(179, 255, 178); display: block; }
98
+ span.run47 { background-color: rgb(182, 255, 178); display: block; }
99
+ span.run48 { background-color: rgb(184, 255, 178); display: block; }
100
+ span.run49 { background-color: rgb(187, 255, 178); display: block; }
101
+ span.run50 { background-color: rgb(191, 255, 178); display: block; }
102
+ span.run51 { background-color: rgb(193, 255, 178); display: block; }
103
+ span.run52 { background-color: rgb(196, 255, 178); display: block; }
104
+ span.run53 { background-color: rgb(198, 255, 178); display: block; }
105
+ span.run54 { background-color: rgb(201, 255, 178); display: block; }
106
+ span.run55 { background-color: rgb(205, 255, 178); display: block; }
107
+ span.run56 { background-color: rgb(207, 255, 178); display: block; }
108
+ span.run57 { background-color: rgb(210, 255, 178); display: block; }
109
+ span.run58 { background-color: rgb(212, 255, 178); display: block; }
110
+ span.run59 { background-color: rgb(215, 255, 178); display: block; }
111
+ span.run60 { background-color: rgb(219, 255, 178); display: block; }
112
+ span.run61 { background-color: rgb(221, 255, 178); display: block; }
113
+ span.run62 { background-color: rgb(224, 255, 178); display: block; }
114
+ span.run63 { background-color: rgb(226, 255, 178); display: block; }
115
+ span.run64 { background-color: rgb(229, 255, 178); display: block; }
116
+ span.run65 { background-color: rgb(233, 255, 178); display: block; }
117
+ span.run66 { background-color: rgb(235, 255, 178); display: block; }
118
+ span.run67 { background-color: rgb(238, 255, 178); display: block; }
119
+ span.run68 { background-color: rgb(240, 255, 178); display: block; }
120
+ span.run69 { background-color: rgb(243, 255, 178); display: block; }
121
+ span.run70 { background-color: rgb(247, 255, 178); display: block; }
122
+ span.run71 { background-color: rgb(249, 255, 178); display: block; }
123
+ span.run72 { background-color: rgb(252, 255, 178); display: block; }
124
+ span.run73 { background-color: rgb(255, 255, 178); display: block; }
125
+ span.run74 { background-color: rgb(255, 252, 178); display: block; }
126
+ span.run75 { background-color: rgb(255, 248, 178); display: block; }
127
+ span.run76 { background-color: rgb(255, 246, 178); display: block; }
128
+ span.run77 { background-color: rgb(255, 243, 178); display: block; }
129
+ span.run78 { background-color: rgb(255, 240, 178); display: block; }
130
+ span.run79 { background-color: rgb(255, 238, 178); display: block; }
131
+ span.run80 { background-color: rgb(255, 234, 178); display: block; }
132
+ span.run81 { background-color: rgb(255, 232, 178); display: block; }
133
+ span.run82 { background-color: rgb(255, 229, 178); display: block; }
134
+ span.run83 { background-color: rgb(255, 226, 178); display: block; }
135
+ span.run84 { background-color: rgb(255, 224, 178); display: block; }
136
+ span.run85 { background-color: rgb(255, 220, 178); display: block; }
137
+ span.run86 { background-color: rgb(255, 218, 178); display: block; }
138
+ span.run87 { background-color: rgb(255, 215, 178); display: block; }
139
+ span.run88 { background-color: rgb(255, 212, 178); display: block; }
140
+ span.run89 { background-color: rgb(255, 210, 178); display: block; }
141
+ span.run90 { background-color: rgb(255, 206, 178); display: block; }
142
+ span.run91 { background-color: rgb(255, 204, 178); display: block; }
143
+ span.run92 { background-color: rgb(255, 201, 178); display: block; }
144
+ span.run93 { background-color: rgb(255, 198, 178); display: block; }
145
+ span.run94 { background-color: rgb(255, 196, 178); display: block; }
146
+ span.run95 { background-color: rgb(255, 192, 178); display: block; }
147
+ span.run96 { background-color: rgb(255, 189, 178); display: block; }
148
+ span.run97 { background-color: rgb(255, 187, 178); display: block; }
149
+ span.run98 { background-color: rgb(255, 184, 178); display: block; }
150
+ span.run99 { background-color: rgb(255, 182, 178); display: block; }
151
+ span.run100 { background-color: rgb(255, 178, 178); display: block; }
152
+ </style>
153
+ </head>
154
+ <body>
155
+ <h3>
156
+ C0 code coverage information
157
+ </h3>
158
+ <p>
159
+ Generated on Sun Dec 21 22:36:24 +0000 2008 with
160
+ <a href='http://eigenclass.org/hiki/rcov'>
161
+ rcov 0.8.1.2
162
+ </a>
163
+ </p>
164
+ <hr />
165
+ <pre><span class='marked0'>Code reported as executed by Ruby looks like
166
+ this... </span><span class='marked1'>and this: this line is also marked as
167
+ covered. </span><span class='inferred0'>Lines considered as run by rcov, but
168
+ not reported by Ruby, look like this, </span><span class='inferred1'>and
169
+ this: these lines were inferred by rcov (using simple heuristics).
170
+ </span><span class='uncovered0'>Finally, here&apos;s a line marked as not
171
+ executed. </span></pre>
172
+ <table class='report'> <thead> <tr> <td class='heading'> Name </td> <td
173
+ class='heading'> Total lines </td> <td class='heading'> Lines of code </td>
174
+ <td class='heading'> Total coverage </td> <td class='heading'> Code coverage
175
+ </td> </tr> </thead> <tbody> <tr class='light'> <td> <a
176
+ href='lib-postalmethods-exceptions_rb.html'> lib/postalmethods/exceptions.rb
177
+ </a> </td> <td class='lines_total'> <tt> 97 </tt> </td> <td
178
+ class='lines_code'> <tt> 80 </tt> </td> <td> <table cellspacing='0'
179
+ align='right' cellpadding='0'> <tr> <td> <tt class='coverage_total'> 93.8%
180
+ </tt> &nbsp; </td> <td> <table class='percent_graph' cellspacing='0'
181
+ width='100' cellpadding='0'> <tr> <td class='covered' width='94' /> <td
182
+ class='uncovered' width='6' /> </tr> </table> </td> </tr> </table> </td>
183
+ <td> <table cellspacing='0' align='right' cellpadding='0'> <tr> <td> <tt
184
+ class='coverage_code'> 92.5% </tt> &nbsp; </td> <td> <table
185
+ class='percent_graph' cellspacing='0' width='100' cellpadding='0'> <tr> <td
186
+ class='covered' width='93' /> <td class='uncovered' width='7' /> </tr>
187
+ </table> </td> </tr> </table> </td> </tr> </tbody> </table><pre><span
188
+ class="marked1"><a name="line1"></a> 1 module PostalMethods </span><span
189
+ class="inferred0"><a name="line2"></a> 2 </span><span class="marked1"><a
190
+ name="line3"></a> 3 class GenericCodeError &lt; Exception </span><span
191
+ class="marked0"><a name="line4"></a> 4 def initialize </span><span
192
+ class="uncovered1"><a name="line5"></a> 5 super(&quot;You have reached a
193
+ code error in the ruby gem. Please report to the forums&quot;) </span><span
194
+ class="uncovered0"><a name="line6"></a> 6 end </span><span
195
+ class="uncovered1"><a name="line7"></a> 7 end </span><span
196
+ class="inferred0"><a name="line8"></a> 8 </span><span class="marked1"><a
197
+ name="line9"></a> 9 class NoCredentialsException &lt; Exception </span><span
198
+ class="marked0"><a name="line10"></a>10 def initialize </span><span
199
+ class="marked1"><a name="line11"></a>11 super(&quot;You have failed to
200
+ provide any credentials&quot;) </span><span class="inferred0"><a
201
+ name="line12"></a>12 end </span><span class="inferred1"><a
202
+ name="line13"></a>13 end </span><span class="inferred0"><a
203
+ name="line14"></a>14 </span><span class="marked1"><a name="line15"></a>15
204
+ class NoPreparationException &lt; Exception </span><span class="marked0"><a
205
+ name="line16"></a>16 def initialize </span><span class="marked1"><a
206
+ name="line17"></a>17 super(&quot;You must prepare the client first with
207
+ @client.prepare!&quot;) </span><span class="inferred0"><a
208
+ name="line18"></a>18 end </span><span class="inferred1"><a
209
+ name="line19"></a>19 end </span><span class="inferred0"><a
210
+ name="line20"></a>20 </span><span class="marked1"><a name="line21"></a>21
211
+ class InvalidLetterIDsRange &lt; Exception </span><span class="marked0"><a
212
+ name="line22"></a>22 def initialize </span><span class="uncovered1"><a
213
+ name="line23"></a>23 super(&quot;You need to supply an array or a list of
214
+ ids, comma seperated.&quot;) </span><span class="uncovered0"><a
215
+ name="line24"></a>24 end </span><span class="uncovered1"><a
216
+ name="line25"></a>25 end </span><span class="inferred0"><a
217
+ name="line26"></a>26 </span><span class="marked1"><a name="line27"></a>27
218
+ class NoConnectionError &lt; Exception </span><span class="marked0"><a
219
+ name="line28"></a>28 def initialize </span><span class="marked1"><a
220
+ name="line29"></a>29 super(&quot;Error connecting to the API server. If you
221
+ are sure you are online, Please call support.&quot;) </span><span
222
+ class="inferred0"><a name="line30"></a>30 end </span><span
223
+ class="inferred1"><a name="line31"></a>31 end </span><span
224
+ class="inferred0"><a name="line32"></a>32 </span><span class="inferred1"><a
225
+ name="line33"></a>33 ## base api exception - stolen from Halcyon
226
+ </span><span class="inferred0"><a name="line34"></a>34 ##
227
+ http://github.com/mtodd/halcyon/tree/master/LICENSE </span><span
228
+ class="inferred1"><a name="line35"></a>35 </span><span class="marked0"><a
229
+ name="line36"></a>36 class APIException &lt; Exception </span><span
230
+ class="marked1"><a name="line37"></a>37 attr_accessor :status, :body
231
+ </span><span class="marked0"><a name="line38"></a>38 def initialize(status,
232
+ body) </span><span class="marked1"><a name="line39"></a>39 @status = status
233
+ </span><span class="marked0"><a name="line40"></a>40 @body = body
234
+ </span><span class="marked1"><a name="line41"></a>41 super
235
+ &quot;[#{@status}] #{@body}&quot; </span><span class="inferred0"><a
236
+ name="line42"></a>42 end </span><span class="inferred1"><a
237
+ name="line43"></a>43 end </span><span class="inferred0"><a
238
+ name="line44"></a>44 </span><span class="marked1"><a name="line45"></a>45
239
+ API_STATUS_CODES = { </span><span class="inferred0"><a name="line46"></a>46
240
+ -3000 =&gt; &quot;OK: Successfully received the request&quot;, </span><span
241
+ class="inferred1"><a name="line47"></a>47 -3001 =&gt; &quot;This user is not
242
+ authorized to access the specified item&quot;, </span><span
243
+ class="inferred0"><a name="line48"></a>48 -3003 =&gt; &quot;Not
244
+ Authenticated&quot;, </span><span class="inferred1"><a name="line49"></a>49
245
+ -3004 =&gt; &quot;The specified extension is not supported&quot;,
246
+ </span><span class="inferred0"><a name="line50"></a>50 -3010 =&gt;
247
+ &quot;Rejected: no funds available&quot;, </span><span class="inferred1"><a
248
+ name="line51"></a>51 -3020 =&gt; &quot;The file specified is unavailable (it
249
+ may still be being processed, please try later)&quot;, </span><span
250
+ class="inferred0"><a name="line52"></a>52 -3022 =&gt; &quot;Cancellation
251
+ Denied: The letter was physically processed and cannot be cancelled&quot;,
252
+ </span><span class="inferred1"><a name="line53"></a>53 -3113 =&gt;
253
+ &quot;Rejected: the city field contains more than 30 characters&quot;,
254
+ </span><span class="inferred0"><a name="line54"></a>54 -3114 =&gt;
255
+ &quot;Rejected: the state field contains more than 30 characters&quot;,
256
+ </span><span class="inferred1"><a name="line55"></a>55 -3115 =&gt;
257
+ &quot;There was no data returned for your query&quot;, </span><span
258
+ class="inferred0"><a name="line56"></a>56 -3116 =&gt; &quot;The specified
259
+ letter (ID) does not exist in the system&quot;, </span><span
260
+ class="inferred1"><a name="line57"></a>57 -3117 =&gt; &quot;Rejected: the
261
+ company field contains more than 45 characters&quot;, </span><span
262
+ class="inferred0"><a name="line58"></a>58 -3118 =&gt; &quot;Rejected: the
263
+ address1 field contains more than 45 characters&quot;, </span><span
264
+ class="inferred1"><a name="line59"></a>59 -3119 =&gt; &quot;Rejected: the
265
+ address2 field contains more than 45 characters&quot;, </span><span
266
+ class="inferred0"><a name="line60"></a>60 -3120 =&gt; &quot;Rejected: the
267
+ AttentionLine1 field contains more than 45 characters&quot;, </span><span
268
+ class="inferred1"><a name="line61"></a>61 -3121 =&gt; &quot;Rejected: the
269
+ AttentionLine2 field contains more than 45 characters&quot;, </span><span
270
+ class="inferred0"><a name="line62"></a>62 -3122 =&gt; &quot;Rejected: the
271
+ AttentionLine3 field contains more than 45 characters&quot;, </span><span
272
+ class="inferred1"><a name="line63"></a>63 -3123 =&gt; &quot;Rejected: the
273
+ PostalCode/ZIP field contains more than 15 characters&quot;, </span><span
274
+ class="inferred0"><a name="line64"></a>64 -3124 =&gt; &quot;Rejected: the
275
+ Country field contains more than 30 characters&quot;, </span><span
276
+ class="inferred1"><a name="line65"></a>65 -3150 =&gt; &quot;General System
277
+ Error: Contact technical support&quot;, </span><span class="inferred0"><a
278
+ name="line66"></a>66 -3500 =&gt; &quot;Warning: too many attempts were made
279
+ for this method&quot;, </span><span class="inferred1"><a
280
+ name="line67"></a>67 -4001 =&gt; &quot;The username field is empty or
281
+ missing&quot;, </span><span class="inferred0"><a name="line68"></a>68 -4002
282
+ =&gt; &quot;The password field is empty or missing&quot;, </span><span
283
+ class="inferred1"><a name="line69"></a>69 -4003 =&gt; &quot;The
284
+ MyDescription field is empty or missing - please contact support&quot;,
285
+ </span><span class="inferred0"><a name="line70"></a>70 -4004 =&gt; &quot;The
286
+ FileExtension field is empty or missing - please contact support&quot;,
287
+ </span><span class="inferred1"><a name="line71"></a>71 -4005 =&gt; &quot;The
288
+ FileBinaryData field is empty or missing - please contact support&quot;,
289
+ </span><span class="inferred0"><a name="line72"></a>72 -4006 =&gt; &quot;The
290
+ Address1 field is empty or missing&quot;, </span><span class="inferred1"><a
291
+ name="line73"></a>73 -4007 =&gt; &quot;The city field is empty or
292
+ missing&quot;, </span><span class="inferred0"><a name="line74"></a>74 -4008
293
+ =&gt; &quot;The Attention1 or Company fields are empty or missing&quot;,
294
+ </span><span class="inferred1"><a name="line75"></a>75 -4009 =&gt; &quot;The
295
+ ID field is empty or missing.&quot;, </span><span class="inferred0"><a
296
+ name="line76"></a>76 -4010 =&gt; &quot;The MinID field is empty or
297
+ missing&quot;, </span><span class="inferred1"><a name="line77"></a>77 -4011
298
+ =&gt; &quot;The MaxID field is empty or missing&quot;, </span><span
299
+ class="inferred0"><a name="line78"></a>78 } </span><span
300
+ class="inferred1"><a name="line79"></a>79 </span><span class="inferred0"><a
301
+ name="line80"></a>80 #-- </span><span class="inferred1"><a
302
+ name="line81"></a>81 # Classify Status Codes </span><span
303
+ class="inferred0"><a name="line82"></a>82 #++ </span><span
304
+ class="inferred1"><a name="line83"></a>83 </span><span class="marked0"><a
305
+ name="line84"></a>84 API_STATUS_CODES.to_a.each do |http_status|
306
+ </span><span class="marked1"><a name="line85"></a>85 status, body =
307
+ http_status </span><span class="marked0"><a name="line86"></a>86 class_eval
308
+ &lt;&lt;-&quot;end;&quot; </span><span class="inferred1"><a
309
+ name="line87"></a>87 class APIStatusCode#{status.to_s.gsub(/(
310
+ |\-)/,'')}Exception &lt; PostalMethods::APIException </span><span
311
+ class="inferred0"><a name="line88"></a>88 def initialize(body=nil)
312
+ </span><span class="inferred1"><a name="line89"></a>89 body = '#{body}' if
313
+ body.nil? </span><span class="inferred0"><a name="line90"></a>90
314
+ super(#{status}, body) </span><span class="inferred1"><a
315
+ name="line91"></a>91 end </span><span class="inferred0"><a
316
+ name="line92"></a>92 end </span><span class="inferred1"><a
317
+ name="line93"></a>93 end; </span><span class="inferred0"><a
318
+ name="line94"></a>94 end </span><span class="inferred1"><a
319
+ name="line95"></a>95 </span><span class="inferred0"><a name="line96"></a>96
320
+ </span><span class="inferred1"><a name="line97"></a>97 end </span></pre>
321
+ <hr />
322
+ <p> Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'> rcov
323
+ code coverage analysis tool for Ruby </a> version 0.8.1.2. </p>
324
+ <p>
325
+ <a href='http://validator.w3.org/check/referer'>
326
+ <img src='http://www.w3.org/Icons/valid-xhtml10' height='31' alt='Valid XHTML 1.0!' width='88' />
327
+ </a>
328
+ <a href='http://jigsaw.w3.org/css-validator/check/referer'>
329
+ <img src='http://jigsaw.w3.org/css-validator/images/vcss' alt='Valid CSS!' style='border:0;width:88px;height:31px' />
330
+ </a>
331
+ </p>
332
+ </body>
333
+ </html>
@@ -0,0 +1,285 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>
3
+ <head>
4
+ <title>
5
+ lib/postalmethods/get_letter_status.rb - C0 code coverage information
6
+ </title>
7
+ <style type='text/css'>
8
+ body { background-color: rgb(240, 240, 245); }
9
+ </style>
10
+ <style type='text/css'>
11
+ span.cross-ref-title { font-size: 140%; } span.cross-ref a {
12
+ text-decoration: none; } span.cross-ref { background-color:#f3f7fa;
13
+ border: 1px dashed #333; margin: 1em; padding: 0.5em; overflow: hidden; }
14
+ a.crossref-toggle { text-decoration: none; } span.marked0 {
15
+ background-color: rgb(185, 210, 200); display: block; } span.marked1 {
16
+ background-color: rgb(190, 215, 205); display: block; } span.inferred0 {
17
+ background-color: rgb(175, 200, 200); display: block; } span.inferred1 {
18
+ background-color: rgb(180, 205, 205); display: block; } span.uncovered0 {
19
+ background-color: rgb(225, 110, 110); display: block; } span.uncovered1 {
20
+ background-color: rgb(235, 120, 120); display: block; } span.overview {
21
+ border-bottom: 8px solid black; } div.overview { border-bottom: 8px solid
22
+ black; } body { font-family: verdana, arial, helvetica; } div.footer {
23
+ font-size: 68%; margin-top: 1.5em; } h1, h2, h3, h4, h5, h6 {
24
+ margin-bottom: 0.5em; } h5 { margin-top: 0.5em; } .hidden { display: none;
25
+ } div.separator { height: 10px; } /* Commented out for better readability,
26
+ esp. on IE */ /* table tr td, table tr th { font-size: 68%; } td.value
27
+ table tr td { font-size: 11px; } */ table.percent_graph { height: 12px;
28
+ border: #808080 1px solid; empty-cells: show; } table.percent_graph
29
+ td.covered { height: 10px; background: #00f000; } table.percent_graph
30
+ td.uncovered { height: 10px; background: #e00000; } table.percent_graph
31
+ td.NA { height: 10px; background: #eaeaea; } table.report {
32
+ border-collapse: collapse; width: 100%; } table.report td.heading {
33
+ background: #dcecff; border: #d0d0d0 1px solid; font-weight: bold;
34
+ text-align: center; } table.report td.heading:hover { background: #c0ffc0;
35
+ } table.report td.text { border: #d0d0d0 1px solid; } table.report
36
+ td.value, table.report td.lines_total, table.report td.lines_code {
37
+ text-align: right; border: #d0d0d0 1px solid; } table.report tr.light {
38
+ background-color: rgb(240, 240, 245); } table.report tr.dark {
39
+ background-color: rgb(230, 230, 235); }
40
+ </style>
41
+ <script type='text/javascript'>
42
+ // <![CDATA[ function toggleCode( id ) { if ( document.getElementById )
43
+ elem = document.getElementById( id ); else if ( document.all ) elem =
44
+ eval( "document.all." + id ); else return false; elemStyle = elem.style;
45
+ if ( elemStyle.display != "block" ) { elemStyle.display = "block" } else {
46
+ elemStyle.display = "none" } return true; } // Make cross-references
47
+ hidden by default document.writeln( "<style
48
+ type=\"text/css\">span.cross-ref { display: none }</style>" ) // ]]>
49
+ </script>
50
+ <style type='text/css'>
51
+ span.run0 { background-color: rgb(178, 204, 255); display: block; }
52
+ span.run1 { background-color: rgb(178, 206, 255); display: block; }
53
+ span.run2 { background-color: rgb(178, 209, 255); display: block; }
54
+ span.run3 { background-color: rgb(178, 211, 255); display: block; }
55
+ span.run4 { background-color: rgb(178, 214, 255); display: block; }
56
+ span.run5 { background-color: rgb(178, 218, 255); display: block; }
57
+ span.run6 { background-color: rgb(178, 220, 255); display: block; }
58
+ span.run7 { background-color: rgb(178, 223, 255); display: block; }
59
+ span.run8 { background-color: rgb(178, 225, 255); display: block; }
60
+ span.run9 { background-color: rgb(178, 228, 255); display: block; }
61
+ span.run10 { background-color: rgb(178, 232, 255); display: block; }
62
+ span.run11 { background-color: rgb(178, 234, 255); display: block; }
63
+ span.run12 { background-color: rgb(178, 237, 255); display: block; }
64
+ span.run13 { background-color: rgb(178, 239, 255); display: block; }
65
+ span.run14 { background-color: rgb(178, 242, 255); display: block; }
66
+ span.run15 { background-color: rgb(178, 246, 255); display: block; }
67
+ span.run16 { background-color: rgb(178, 248, 255); display: block; }
68
+ span.run17 { background-color: rgb(178, 251, 255); display: block; }
69
+ span.run18 { background-color: rgb(178, 253, 255); display: block; }
70
+ span.run19 { background-color: rgb(178, 255, 253); display: block; }
71
+ span.run20 { background-color: rgb(178, 255, 249); display: block; }
72
+ span.run21 { background-color: rgb(178, 255, 247); display: block; }
73
+ span.run22 { background-color: rgb(178, 255, 244); display: block; }
74
+ span.run23 { background-color: rgb(178, 255, 242); display: block; }
75
+ span.run24 { background-color: rgb(178, 255, 239); display: block; }
76
+ span.run25 { background-color: rgb(178, 255, 235); display: block; }
77
+ span.run26 { background-color: rgb(178, 255, 233); display: block; }
78
+ span.run27 { background-color: rgb(178, 255, 230); display: block; }
79
+ span.run28 { background-color: rgb(178, 255, 228); display: block; }
80
+ span.run29 { background-color: rgb(178, 255, 225); display: block; }
81
+ span.run30 { background-color: rgb(178, 255, 221); display: block; }
82
+ span.run31 { background-color: rgb(178, 255, 219); display: block; }
83
+ span.run32 { background-color: rgb(178, 255, 216); display: block; }
84
+ span.run33 { background-color: rgb(178, 255, 214); display: block; }
85
+ span.run34 { background-color: rgb(178, 255, 211); display: block; }
86
+ span.run35 { background-color: rgb(178, 255, 207); display: block; }
87
+ span.run36 { background-color: rgb(178, 255, 205); display: block; }
88
+ span.run37 { background-color: rgb(178, 255, 202); display: block; }
89
+ span.run38 { background-color: rgb(178, 255, 200); display: block; }
90
+ span.run39 { background-color: rgb(178, 255, 197); display: block; }
91
+ span.run40 { background-color: rgb(178, 255, 193); display: block; }
92
+ span.run41 { background-color: rgb(178, 255, 191); display: block; }
93
+ span.run42 { background-color: rgb(178, 255, 188); display: block; }
94
+ span.run43 { background-color: rgb(178, 255, 186); display: block; }
95
+ span.run44 { background-color: rgb(178, 255, 183); display: block; }
96
+ span.run45 { background-color: rgb(178, 255, 179); display: block; }
97
+ span.run46 { background-color: rgb(179, 255, 178); display: block; }
98
+ span.run47 { background-color: rgb(182, 255, 178); display: block; }
99
+ span.run48 { background-color: rgb(184, 255, 178); display: block; }
100
+ span.run49 { background-color: rgb(187, 255, 178); display: block; }
101
+ span.run50 { background-color: rgb(191, 255, 178); display: block; }
102
+ span.run51 { background-color: rgb(193, 255, 178); display: block; }
103
+ span.run52 { background-color: rgb(196, 255, 178); display: block; }
104
+ span.run53 { background-color: rgb(198, 255, 178); display: block; }
105
+ span.run54 { background-color: rgb(201, 255, 178); display: block; }
106
+ span.run55 { background-color: rgb(205, 255, 178); display: block; }
107
+ span.run56 { background-color: rgb(207, 255, 178); display: block; }
108
+ span.run57 { background-color: rgb(210, 255, 178); display: block; }
109
+ span.run58 { background-color: rgb(212, 255, 178); display: block; }
110
+ span.run59 { background-color: rgb(215, 255, 178); display: block; }
111
+ span.run60 { background-color: rgb(219, 255, 178); display: block; }
112
+ span.run61 { background-color: rgb(221, 255, 178); display: block; }
113
+ span.run62 { background-color: rgb(224, 255, 178); display: block; }
114
+ span.run63 { background-color: rgb(226, 255, 178); display: block; }
115
+ span.run64 { background-color: rgb(229, 255, 178); display: block; }
116
+ span.run65 { background-color: rgb(233, 255, 178); display: block; }
117
+ span.run66 { background-color: rgb(235, 255, 178); display: block; }
118
+ span.run67 { background-color: rgb(238, 255, 178); display: block; }
119
+ span.run68 { background-color: rgb(240, 255, 178); display: block; }
120
+ span.run69 { background-color: rgb(243, 255, 178); display: block; }
121
+ span.run70 { background-color: rgb(247, 255, 178); display: block; }
122
+ span.run71 { background-color: rgb(249, 255, 178); display: block; }
123
+ span.run72 { background-color: rgb(252, 255, 178); display: block; }
124
+ span.run73 { background-color: rgb(255, 255, 178); display: block; }
125
+ span.run74 { background-color: rgb(255, 252, 178); display: block; }
126
+ span.run75 { background-color: rgb(255, 248, 178); display: block; }
127
+ span.run76 { background-color: rgb(255, 246, 178); display: block; }
128
+ span.run77 { background-color: rgb(255, 243, 178); display: block; }
129
+ span.run78 { background-color: rgb(255, 240, 178); display: block; }
130
+ span.run79 { background-color: rgb(255, 238, 178); display: block; }
131
+ span.run80 { background-color: rgb(255, 234, 178); display: block; }
132
+ span.run81 { background-color: rgb(255, 232, 178); display: block; }
133
+ span.run82 { background-color: rgb(255, 229, 178); display: block; }
134
+ span.run83 { background-color: rgb(255, 226, 178); display: block; }
135
+ span.run84 { background-color: rgb(255, 224, 178); display: block; }
136
+ span.run85 { background-color: rgb(255, 220, 178); display: block; }
137
+ span.run86 { background-color: rgb(255, 218, 178); display: block; }
138
+ span.run87 { background-color: rgb(255, 215, 178); display: block; }
139
+ span.run88 { background-color: rgb(255, 212, 178); display: block; }
140
+ span.run89 { background-color: rgb(255, 210, 178); display: block; }
141
+ span.run90 { background-color: rgb(255, 206, 178); display: block; }
142
+ span.run91 { background-color: rgb(255, 204, 178); display: block; }
143
+ span.run92 { background-color: rgb(255, 201, 178); display: block; }
144
+ span.run93 { background-color: rgb(255, 198, 178); display: block; }
145
+ span.run94 { background-color: rgb(255, 196, 178); display: block; }
146
+ span.run95 { background-color: rgb(255, 192, 178); display: block; }
147
+ span.run96 { background-color: rgb(255, 189, 178); display: block; }
148
+ span.run97 { background-color: rgb(255, 187, 178); display: block; }
149
+ span.run98 { background-color: rgb(255, 184, 178); display: block; }
150
+ span.run99 { background-color: rgb(255, 182, 178); display: block; }
151
+ span.run100 { background-color: rgb(255, 178, 178); display: block; }
152
+ </style>
153
+ </head>
154
+ <body>
155
+ <h3>
156
+ C0 code coverage information
157
+ </h3>
158
+ <p>
159
+ Generated on Sun Dec 21 22:36:24 +0000 2008 with
160
+ <a href='http://eigenclass.org/hiki/rcov'>
161
+ rcov 0.8.1.2
162
+ </a>
163
+ </p>
164
+ <hr />
165
+ <pre><span class='marked0'>Code reported as executed by Ruby looks like
166
+ this... </span><span class='marked1'>and this: this line is also marked as
167
+ covered. </span><span class='inferred0'>Lines considered as run by rcov, but
168
+ not reported by Ruby, look like this, </span><span class='inferred1'>and
169
+ this: these lines were inferred by rcov (using simple heuristics).
170
+ </span><span class='uncovered0'>Finally, here&apos;s a line marked as not
171
+ executed. </span></pre>
172
+ <table class='report'> <thead> <tr> <td class='heading'> Name </td> <td
173
+ class='heading'> Total lines </td> <td class='heading'> Lines of code </td>
174
+ <td class='heading'> Total coverage </td> <td class='heading'> Code coverage
175
+ </td> </tr> </thead> <tbody> <tr class='light'> <td> <a
176
+ href='lib-postalmethods-get_letter_status_rb.html'>
177
+ lib/postalmethods/get_letter_status.rb </a> </td> <td class='lines_total'>
178
+ <tt> 69 </tt> </td> <td class='lines_code'> <tt> 43 </tt> </td> <td> <table
179
+ cellspacing='0' align='right' cellpadding='0'> <tr> <td> <tt
180
+ class='coverage_total'> 100.0% </tt> &nbsp; </td> <td> <table
181
+ class='percent_graph' cellspacing='0' width='100' cellpadding='0'> <tr> <td
182
+ class='covered' width='100' /> <td class='uncovered' width='0' /> </tr>
183
+ </table> </td> </tr> </table> </td> <td> <table cellspacing='0'
184
+ align='right' cellpadding='0'> <tr> <td> <tt class='coverage_code'> 100.0%
185
+ </tt> &nbsp; </td> <td> <table class='percent_graph' cellspacing='0'
186
+ width='100' cellpadding='0'> <tr> <td class='covered' width='100' /> <td
187
+ class='uncovered' width='0' /> </tr> </table> </td> </tr> </table> </td>
188
+ </tr> </tbody> </table><pre><span class="marked0"><a name="line1"></a> 1
189
+ module PostalMethods </span><span class="inferred1"><a name="line2"></a> 2
190
+ </span><span class="marked0"><a name="line3"></a> 3 module GetLetterStatus
191
+ </span><span class="inferred1"><a name="line4"></a> 4 </span><span
192
+ class="marked0"><a name="line5"></a> 5 def get_letter_status(id)
193
+ </span><span class="marked1"><a name="line6"></a> 6 raise
194
+ PostalMethods::NoPreparationException unless self.prepared </span><span
195
+ class="inferred0"><a name="line7"></a> 7 </span><span class="inferred1"><a
196
+ name="line8"></a> 8 ## get status </span><span class="marked0"><a
197
+ name="line9"></a> 9 opts = {:Username =&gt; self.username, :Password =&gt;
198
+ self.password, :ID =&gt; id} </span><span class="inferred1"><a
199
+ name="line10"></a>10 </span><span class="marked0"><a name="line11"></a>11 rv
200
+ = @rpc_driver.getLetterStatus(opts) </span><span class="inferred1"><a
201
+ name="line12"></a>12 </span><span class="marked0"><a name="line13"></a>13
202
+ ws_status = rv.getLetterStatusResult.resultCode.to_i </span><span
203
+ class="marked1"><a name="line14"></a>14 delivery_status =
204
+ rv.getLetterStatusResult.status.to_i </span><span class="marked0"><a
205
+ name="line15"></a>15 last_update = rv.getLetterStatusResult.lastUpdateTime
206
+ </span><span class="inferred1"><a name="line16"></a>16 </span><span
207
+ class="marked0"><a name="line17"></a>17 if ws_status == -3000 </span><span
208
+ class="marked1"><a name="line18"></a>18 return [delivery_status,
209
+ last_update] </span><span class="marked0"><a name="line19"></a>19 elsif
210
+ API_STATUS_CODES.has_key?(ws_status) </span><span class="marked1"><a
211
+ name="line20"></a>20 instance_eval(&quot;raise
212
+ APIStatusCode#{ws_status.to_s.gsub(/( |\-)/,'')}Exception&quot;)
213
+ </span><span class="inferred0"><a name="line21"></a>21 end </span><span
214
+ class="inferred1"><a name="line22"></a>22 </span><span class="inferred0"><a
215
+ name="line23"></a>23 end </span><span class="inferred1"><a
216
+ name="line24"></a>24 </span><span class="marked0"><a name="line25"></a>25
217
+ def get_letter_status_multiple(ids) </span><span class="marked1"><a
218
+ name="line26"></a>26 raise PostalMethods::NoPreparationException unless
219
+ self.prepared </span><span class="inferred0"><a name="line27"></a>27
220
+ </span><span class="marked1"><a name="line28"></a>28 if ids.class == Array
221
+ </span><span class="marked0"><a name="line29"></a>29 ids =
222
+ ids.join(&quot;,&quot;) </span><span class="inferred1"><a
223
+ name="line30"></a>30 end </span><span class="inferred0"><a
224
+ name="line31"></a>31 </span><span class="inferred1"><a name="line32"></a>32
225
+ # minimal input checking - let api take care of it </span><span
226
+ class="marked0"><a name="line33"></a>33 return
227
+ PostalMethods::InvalidLetterIDsRange unless ids.class == String </span><span
228
+ class="inferred1"><a name="line34"></a>34 </span><span class="inferred0"><a
229
+ name="line35"></a>35 ## get status </span><span class="marked1"><a
230
+ name="line36"></a>36 opts = {:Username =&gt; self.username, :Password =&gt;
231
+ self.password, :ID =&gt; ids} </span><span class="inferred0"><a
232
+ name="line37"></a>37 </span><span class="marked1"><a name="line38"></a>38 rv
233
+ = @rpc_driver.getLetterStatus_Multiple(opts) </span><span
234
+ class="inferred0"><a name="line39"></a>39 </span><span class="marked1"><a
235
+ name="line40"></a>40 ws_status =
236
+ rv.getLetterStatus_MultipleResult.resultCode.to_i </span><span
237
+ class="inferred0"><a name="line41"></a>41 </span><span class="marked1"><a
238
+ name="line42"></a>42 if ws_status == -3000 </span><span class="marked0"><a
239
+ name="line43"></a>43 return
240
+ rv.getLetterStatus_MultipleResult.letterStatuses.letterStatus </span><span
241
+ class="marked1"><a name="line44"></a>44 elsif
242
+ API_STATUS_CODES.has_key?(ws_status) </span><span class="marked0"><a
243
+ name="line45"></a>45 instance_eval(&quot;raise
244
+ APIStatusCode#{ws_status.to_s.gsub(/( |\-)/,'')}Exception&quot;)
245
+ </span><span class="inferred1"><a name="line46"></a>46 end </span><span
246
+ class="inferred0"><a name="line47"></a>47 </span><span class="inferred1"><a
247
+ name="line48"></a>48 end </span><span class="inferred0"><a
248
+ name="line49"></a>49 </span><span class="marked1"><a name="line50"></a>50
249
+ def get_letter_status_range(minid, maxid) </span><span class="marked0"><a
250
+ name="line51"></a>51 raise PostalMethods::NoPreparationException unless
251
+ self.prepared </span><span class="inferred1"><a name="line52"></a>52
252
+ </span><span class="inferred0"><a name="line53"></a>53 ## get status
253
+ </span><span class="marked1"><a name="line54"></a>54 opts = {:Username =&gt;
254
+ self.username, :Password =&gt; self.password, :MinID =&gt; minid.to_i,
255
+ :MaxID =&gt; maxid.to_i} </span><span class="inferred0"><a
256
+ name="line55"></a>55 </span><span class="marked1"><a name="line56"></a>56 rv
257
+ = @rpc_driver.getLetterStatus_Range(opts) </span><span class="inferred0"><a
258
+ name="line57"></a>57 </span><span class="marked1"><a name="line58"></a>58
259
+ ws_status = rv.getLetterStatus_RangeResult.resultCode.to_i </span><span
260
+ class="inferred0"><a name="line59"></a>59 </span><span class="marked1"><a
261
+ name="line60"></a>60 if ws_status == -3000 </span><span class="marked0"><a
262
+ name="line61"></a>61 return
263
+ rv.getLetterStatus_RangeResult.letterStatuses.letterStatus </span><span
264
+ class="marked1"><a name="line62"></a>62 elsif
265
+ API_STATUS_CODES.has_key?(ws_status) </span><span class="marked0"><a
266
+ name="line63"></a>63 instance_eval(&quot;raise
267
+ APIStatusCode#{ws_status.to_s.gsub(/( |\-)/,'')}Exception&quot;)
268
+ </span><span class="inferred1"><a name="line64"></a>64 end </span><span
269
+ class="inferred0"><a name="line65"></a>65 </span><span class="inferred1"><a
270
+ name="line66"></a>66 end </span><span class="inferred0"><a
271
+ name="line67"></a>67 </span><span class="inferred1"><a name="line68"></a>68
272
+ end </span><span class="inferred0"><a name="line69"></a>69 end </span></pre>
273
+ <hr />
274
+ <p> Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'> rcov
275
+ code coverage analysis tool for Ruby </a> version 0.8.1.2. </p>
276
+ <p>
277
+ <a href='http://validator.w3.org/check/referer'>
278
+ <img src='http://www.w3.org/Icons/valid-xhtml10' height='31' alt='Valid XHTML 1.0!' width='88' />
279
+ </a>
280
+ <a href='http://jigsaw.w3.org/css-validator/check/referer'>
281
+ <img src='http://jigsaw.w3.org/css-validator/images/vcss' alt='Valid CSS!' style='border:0;width:88px;height:31px' />
282
+ </a>
283
+ </p>
284
+ </body>
285
+ </html>