postalmethods 1.1.1 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +3 -0
- data/Manifest.txt +3 -0
- data/README.rdoc +5 -3
- data/README.txt +5 -3
- data/Rakefile +1 -0
- data/config/hoe.rb +5 -5
- data/lib/postalmethods.rb +16 -8
- data/lib/postalmethods/exceptions.rb +2 -2
- data/lib/postalmethods/get_letter_status.rb +10 -10
- data/lib/postalmethods/send_letter.rb +9 -7
- data/lib/postalmethods/utility.rb +12 -7
- data/postalmethods.gemspec +6 -6
- data/spec/doc/default.rb +803 -150
- data/spec/doc/postcard_address_side_with_return_address.html +69 -0
- data/spec/doc/postcard_image_side_with_return_address.html +34 -0
- data/spec/get_letter_status_spec.rb +58 -57
- data/spec/spec_helper.rb +2 -2
- data/spec/utility_spec.rb +13 -13
- data/tasks/rspec.rake +3 -1
- metadata +41 -21
- data/coverage/index.html +0 -163
- data/coverage/lib-postalmethods-document_processor_rb.html +0 -226
- data/coverage/lib-postalmethods-exceptions_rb.html +0 -333
- data/coverage/lib-postalmethods-get_letter_status_rb.html +0 -285
- data/coverage/lib-postalmethods-send_letter_rb.html +0 -261
- data/coverage/lib-postalmethods-utility_rb.html +0 -277
- data/coverage/lib-postalmethods_rb.html +0 -282
| @@ -1,277 +0,0 @@ | |
| 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/utility.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'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-utility_rb.html'> lib/postalmethods/utility.rb </a>
         | 
| 177 | 
            -
                </td> <td class='lines_total'> <tt> 60 </tt> </td> <td class='lines_code'>
         | 
| 178 | 
            -
                <tt> 43 </tt> </td> <td> <table cellspacing='0' align='right'
         | 
| 179 | 
            -
                cellpadding='0'> <tr> <td> <tt class='coverage_total'> 81.7% </tt>  
         | 
| 180 | 
            -
                </td> <td> <table class='percent_graph' cellspacing='0' width='100'
         | 
| 181 | 
            -
                cellpadding='0'> <tr> <td class='covered' width='82' /> <td
         | 
| 182 | 
            -
                class='uncovered' width='18' /> </tr> </table> </td> </tr> </table> </td>
         | 
| 183 | 
            -
                <td> <table cellspacing='0' align='right' cellpadding='0'> <tr> <td> <tt
         | 
| 184 | 
            -
                class='coverage_code'> 74.4% </tt>   </td> <td> <table
         | 
| 185 | 
            -
                class='percent_graph' cellspacing='0' width='100' cellpadding='0'> <tr> <td
         | 
| 186 | 
            -
                class='covered' width='74' /> <td class='uncovered' width='26' /> </tr>
         | 
| 187 | 
            -
                </table> </td> </tr> </table> </td> </tr> </tbody> </table><pre><span
         | 
| 188 | 
            -
                class="marked0"><a name="line1"></a> 1 module PostalMethods </span><span
         | 
| 189 | 
            -
                class="inferred1"><a name="line2"></a> 2 </span><span class="marked0"><a
         | 
| 190 | 
            -
                name="line3"></a> 3 module UtilityMethods </span><span class="inferred1"><a
         | 
| 191 | 
            -
                name="line4"></a> 4 </span><span class="marked0"><a name="line5"></a> 5
         | 
| 192 | 
            -
                require 'base64' </span><span class="inferred1"><a name="line6"></a> 6
         | 
| 193 | 
            -
                </span><span class="marked0"><a name="line7"></a> 7 def
         | 
| 194 | 
            -
                get_letter_details(id) </span><span class="marked1"><a name="line8"></a> 8
         | 
| 195 | 
            -
                raise PostalMethods::NoPreparationException unless self.prepared
         | 
| 196 | 
            -
                </span><span class="inferred0"><a name="line9"></a> 9 </span><span
         | 
| 197 | 
            -
                class="inferred1"><a name="line10"></a>10 ## get a letter as pdf over the
         | 
| 198 | 
            -
                wire </span><span class="marked0"><a name="line11"></a>11 rv =
         | 
| 199 | 
            -
                @rpc_driver.getLetterDetails(:Username => self.username, :Password =>
         | 
| 200 | 
            -
                self.password, :ID => id) </span><span class="inferred1"><a
         | 
| 201 | 
            -
                name="line12"></a>12 </span><span class="marked0"><a name="line13"></a>13
         | 
| 202 | 
            -
                status_code = rv.getLetterDetailsResult.resultCode.to_i </span><span
         | 
| 203 | 
            -
                class="marked1"><a name="line14"></a>14 letter_data =
         | 
| 204 | 
            -
                rv.getLetterDetailsResult </span><span class="inferred0"><a
         | 
| 205 | 
            -
                name="line15"></a>15 </span><span class="marked1"><a name="line16"></a>16 if
         | 
| 206 | 
            -
                status_code == -3000 # successfully received the req </span><span
         | 
| 207 | 
            -
                class="marked0"><a name="line17"></a>17 return [letter_data, status_code]
         | 
| 208 | 
            -
                </span><span class="marked1"><a name="line18"></a>18 elsif
         | 
| 209 | 
            -
                API_STATUS_CODES.has_key?(status_code) </span><span class="marked0"><a
         | 
| 210 | 
            -
                name="line19"></a>19 instance_eval("raise
         | 
| 211 | 
            -
                APIStatusCode#{status_code.to_s.gsub(/( |\-)/,'')}Exception")
         | 
| 212 | 
            -
                </span><span class="inferred1"><a name="line20"></a>20 end </span><span
         | 
| 213 | 
            -
                class="uncovered0"><a name="line21"></a>21 raise
         | 
| 214 | 
            -
                PostalMethods::GenericCodeError </span><span class="uncovered1"><a
         | 
| 215 | 
            -
                name="line22"></a>22 end </span><span class="inferred0"><a
         | 
| 216 | 
            -
                name="line23"></a>23 </span><span class="marked1"><a name="line24"></a>24
         | 
| 217 | 
            -
                def get_pdf(id) </span><span class="marked0"><a name="line25"></a>25 raise
         | 
| 218 | 
            -
                PostalMethods::NoPreparationException unless self.prepared </span><span
         | 
| 219 | 
            -
                class="inferred1"><a name="line26"></a>26 </span><span class="inferred0"><a
         | 
| 220 | 
            -
                name="line27"></a>27 ## get a letter as pdf over the wire </span><span
         | 
| 221 | 
            -
                class="marked1"><a name="line28"></a>28 begin </span><span
         | 
| 222 | 
            -
                class="marked0"><a name="line29"></a>29 rv = @rpc_driver.getPDF(:Username
         | 
| 223 | 
            -
                => self.username, :Password => self.password, :ID => id)
         | 
| 224 | 
            -
                </span><span class="uncovered1"><a name="line30"></a>30 rescue
         | 
| 225 | 
            -
                SOAP::FaultError </span><span class="uncovered0"><a name="line31"></a>31
         | 
| 226 | 
            -
                raise APIStatusCode3150Exception </span><span class="uncovered1"><a
         | 
| 227 | 
            -
                name="line32"></a>32 end </span><span class="inferred0"><a
         | 
| 228 | 
            -
                name="line33"></a>33 </span><span class="marked1"><a name="line34"></a>34
         | 
| 229 | 
            -
                status_code = rv.getPDFResult.resultCode.to_i </span><span
         | 
| 230 | 
            -
                class="inferred0"><a name="line35"></a>35 </span><span class="marked1"><a
         | 
| 231 | 
            -
                name="line36"></a>36 if status_code == -3000 # successfully received the req
         | 
| 232 | 
            -
                </span><span class="marked0"><a name="line37"></a>37 return
         | 
| 233 | 
            -
                Base64.decode64(rv.getPDFResult.fileData) # the data returned is base64...
         | 
| 234 | 
            -
                </span><span class="marked1"><a name="line38"></a>38 elsif
         | 
| 235 | 
            -
                API_STATUS_CODES.has_key?(status_code) </span><span class="marked0"><a
         | 
| 236 | 
            -
                name="line39"></a>39 instance_eval("raise
         | 
| 237 | 
            -
                APIStatusCode#{status_code.to_s.gsub(/( |\-)/,'')}Exception")
         | 
| 238 | 
            -
                </span><span class="inferred1"><a name="line40"></a>40 end </span><span
         | 
| 239 | 
            -
                class="uncovered0"><a name="line41"></a>41 raise
         | 
| 240 | 
            -
                PostalMethods::GenericCodeError </span><span class="uncovered1"><a
         | 
| 241 | 
            -
                name="line42"></a>42 end </span><span class="inferred0"><a
         | 
| 242 | 
            -
                name="line43"></a>43 </span><span class="marked1"><a name="line44"></a>44
         | 
| 243 | 
            -
                def cancel_delivery(id) </span><span class="marked0"><a name="line45"></a>45
         | 
| 244 | 
            -
                raise PostalMethods::NoPreparationException unless self.prepared
         | 
| 245 | 
            -
                </span><span class="inferred1"><a name="line46"></a>46 </span><span
         | 
| 246 | 
            -
                class="inferred0"><a name="line47"></a>47 ## get a letter as pdf over the
         | 
| 247 | 
            -
                wire </span><span class="marked1"><a name="line48"></a>48 rv =
         | 
| 248 | 
            -
                @rpc_driver.cancelDelivery(:Username => self.username, :Password =>
         | 
| 249 | 
            -
                self.password, :ID => id) </span><span class="inferred0"><a
         | 
| 250 | 
            -
                name="line49"></a>49 </span><span class="marked1"><a name="line50"></a>50
         | 
| 251 | 
            -
                status_code = rv.cancelDeliveryResult.to_i </span><span class="inferred0"><a
         | 
| 252 | 
            -
                name="line51"></a>51 </span><span class="marked1"><a name="line52"></a>52 if
         | 
| 253 | 
            -
                status_code == -3000 # successfully received the req </span><span
         | 
| 254 | 
            -
                class="marked0"><a name="line53"></a>53 return true </span><span
         | 
| 255 | 
            -
                class="marked1"><a name="line54"></a>54 elsif
         | 
| 256 | 
            -
                API_STATUS_CODES.has_key?(status_code) </span><span class="marked0"><a
         | 
| 257 | 
            -
                name="line55"></a>55 instance_eval("raise
         | 
| 258 | 
            -
                APIStatusCode#{status_code.to_s.gsub(/( |\-)/,'')}Exception")
         | 
| 259 | 
            -
                </span><span class="inferred1"><a name="line56"></a>56 end </span><span
         | 
| 260 | 
            -
                class="uncovered0"><a name="line57"></a>57 raise
         | 
| 261 | 
            -
                PostalMethods::GenericCodeError </span><span class="uncovered1"><a
         | 
| 262 | 
            -
                name="line58"></a>58 end </span><span class="uncovered0"><a
         | 
| 263 | 
            -
                name="line59"></a>59 end </span><span class="uncovered1"><a
         | 
| 264 | 
            -
                name="line60"></a>60 end </span></pre>
         | 
| 265 | 
            -
                <hr />
         | 
| 266 | 
            -
                <p> Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'> rcov
         | 
| 267 | 
            -
                code coverage analysis tool for Ruby </a> version 0.8.1.2. </p>
         | 
| 268 | 
            -
                <p>
         | 
| 269 | 
            -
                  <a href='http://validator.w3.org/check/referer'>
         | 
| 270 | 
            -
                    <img src='http://www.w3.org/Icons/valid-xhtml10' height='31' alt='Valid XHTML 1.0!' width='88' />
         | 
| 271 | 
            -
                  </a>
         | 
| 272 | 
            -
                  <a href='http://jigsaw.w3.org/css-validator/check/referer'>
         | 
| 273 | 
            -
                    <img src='http://jigsaw.w3.org/css-validator/images/vcss' alt='Valid CSS!' style='border:0;width:88px;height:31px' />
         | 
| 274 | 
            -
                  </a>
         | 
| 275 | 
            -
                </p>
         | 
| 276 | 
            -
              </body>
         | 
| 277 | 
            -
            </html>
         | 
| @@ -1,282 +0,0 @@ | |
| 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.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'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_rb.html'> lib/postalmethods.rb </a> </td> <td
         | 
| 177 | 
            -
                class='lines_total'> <tt> 71 </tt> </td> <td class='lines_code'> <tt> 52
         | 
| 178 | 
            -
                </tt> </td> <td> <table cellspacing='0' align='right' cellpadding='0'> <tr>
         | 
| 179 | 
            -
                <td> <tt class='coverage_total'> 97.2% </tt>   </td> <td> <table
         | 
| 180 | 
            -
                class='percent_graph' cellspacing='0' width='100' cellpadding='0'> <tr> <td
         | 
| 181 | 
            -
                class='covered' width='97' /> <td class='uncovered' width='3' /> </tr>
         | 
| 182 | 
            -
                </table> </td> </tr> </table> </td> <td> <table cellspacing='0'
         | 
| 183 | 
            -
                align='right' cellpadding='0'> <tr> <td> <tt class='coverage_code'> 96.2%
         | 
| 184 | 
            -
                </tt>   </td> <td> <table class='percent_graph' cellspacing='0'
         | 
| 185 | 
            -
                width='100' cellpadding='0'> <tr> <td class='covered' width='96' /> <td
         | 
| 186 | 
            -
                class='uncovered' width='4' /> </tr> </table> </td> </tr> </table> </td>
         | 
| 187 | 
            -
                </tr> </tbody> </table><pre><span class="uncovered1"><a name="line1"></a> 1
         | 
| 188 | 
            -
                $:.unshift(File.dirname(__FILE__)) unless </span><span class="marked0"><a
         | 
| 189 | 
            -
                name="line2"></a> 2 $:.include?(File.dirname(__FILE__)) ||
         | 
| 190 | 
            -
                $:.include?(File.expand_path(File.dirname(__FILE__))) </span><span
         | 
| 191 | 
            -
                class="inferred1"><a name="line3"></a> 3 </span><span class="marked0"><a
         | 
| 192 | 
            -
                name="line4"></a> 4 module PostalMethods </span><span class="inferred1"><a
         | 
| 193 | 
            -
                name="line5"></a> 5 </span><span class="marked0"><a name="line6"></a> 6
         | 
| 194 | 
            -
                class Client </span><span class="inferred1"><a name="line7"></a> 7
         | 
| 195 | 
            -
                </span><span class="marked0"><a name="line8"></a> 8 require 'rubygems'
         | 
| 196 | 
            -
                </span><span class="marked1"><a name="line9"></a> 9 gem 'soap4r'
         | 
| 197 | 
            -
                </span><span class="marked0"><a name="line10"></a>10 require
         | 
| 198 | 
            -
                'soap/rpc/driver' </span><span class="marked1"><a name="line11"></a>11
         | 
| 199 | 
            -
                require 'soap/wsdlDriver' </span><span class="marked0"><a
         | 
| 200 | 
            -
                name="line12"></a>12 require 'ruby-debug' </span><span class="inferred1"><a
         | 
| 201 | 
            -
                name="line13"></a>13 </span><span class="marked0"><a name="line14"></a>14
         | 
| 202 | 
            -
                VERBOSE=nil # soap4r is a noisy bugger </span><span class="inferred1"><a
         | 
| 203 | 
            -
                name="line15"></a>15 </span><span class="marked0"><a name="line16"></a>16
         | 
| 204 | 
            -
                require 'postalmethods/exceptions.rb' </span><span class="marked1"><a
         | 
| 205 | 
            -
                name="line17"></a>17 require 'postalmethods/document_processor.rb'
         | 
| 206 | 
            -
                </span><span class="marked0"><a name="line18"></a>18 require
         | 
| 207 | 
            -
                'postalmethods/send_letter.rb' </span><span class="marked1"><a
         | 
| 208 | 
            -
                name="line19"></a>19 require 'postalmethods/get_letter_status.rb'
         | 
| 209 | 
            -
                </span><span class="marked0"><a name="line20"></a>20 require
         | 
| 210 | 
            -
                'postalmethods/utility.rb' </span><span class="inferred1"><a
         | 
| 211 | 
            -
                name="line21"></a>21 </span><span class="inferred0"><a name="line22"></a>22
         | 
| 212 | 
            -
                # include modules </span><span class="marked1"><a name="line23"></a>23
         | 
| 213 | 
            -
                include SendLetter </span><span class="marked0"><a name="line24"></a>24
         | 
| 214 | 
            -
                include DocumentProcessor </span><span class="marked1"><a
         | 
| 215 | 
            -
                name="line25"></a>25 include GetLetterStatus </span><span class="marked0"><a
         | 
| 216 | 
            -
                name="line26"></a>26 include UtilityMethods </span><span
         | 
| 217 | 
            -
                class="inferred1"><a name="line27"></a>27 </span><span class="marked0"><a
         | 
| 218 | 
            -
                name="line28"></a>28 attr_accessor :api_uri, :username, :password, :to_send,
         | 
| 219 | 
            -
                :rpc_driver, :prepared, :work_mode, :valid_work_modes </span><span
         | 
| 220 | 
            -
                class="inferred1"><a name="line29"></a>29 </span><span class="marked0"><a
         | 
| 221 | 
            -
                name="line30"></a>30 def initialize(opts = {}) </span><span
         | 
| 222 | 
            -
                class="marked1"><a name="line31"></a>31 if opts[:username].nil? ||
         | 
| 223 | 
            -
                opts[:password].nil? </span><span class="marked0"><a name="line32"></a>32
         | 
| 224 | 
            -
                raise PostalMethods::NoCredentialsException </span><span
         | 
| 225 | 
            -
                class="inferred1"><a name="line33"></a>33 end </span><span
         | 
| 226 | 
            -
                class="inferred0"><a name="line34"></a>34 </span><span class="marked1"><a
         | 
| 227 | 
            -
                name="line35"></a>35 self.valid_work_modes = {:default =>
         | 
| 228 | 
            -
                "Default", :production => "Production", :development
         | 
| 229 | 
            -
                => "Development"} </span><span class="inferred0"><a
         | 
| 230 | 
            -
                name="line36"></a>36 </span><span class="inferred1"><a name="line37"></a>37
         | 
| 231 | 
            -
                ## declare here so we can override in tests, etc. </span><span
         | 
| 232 | 
            -
                class="marked0"><a name="line38"></a>38 self.api_uri =
         | 
| 233 | 
            -
                "https://api.postalmethods.com/PostalWS.asmx?WSDL" </span><span
         | 
| 234 | 
            -
                class="inferred1"><a name="line39"></a>39 </span><span class="marked0"><a
         | 
| 235 | 
            -
                name="line40"></a>40 self.username = opts[:username] </span><span
         | 
| 236 | 
            -
                class="marked1"><a name="line41"></a>41 self.password = opts[:password]
         | 
| 237 | 
            -
                </span><span class="inferred0"><a name="line42"></a>42 </span><span
         | 
| 238 | 
            -
                class="marked1"><a name="line43"></a>43 self.work_mode =
         | 
| 239 | 
            -
                (opts[:work_mode].nil? ? "default" : opts[:work_mode])
         | 
| 240 | 
            -
                </span><span class="inferred0"><a name="line44"></a>44 end </span><span
         | 
| 241 | 
            -
                class="inferred1"><a name="line45"></a>45 </span><span class="marked0"><a
         | 
| 242 | 
            -
                name="line46"></a>46 def prepare! </span><span class="marked1"><a
         | 
| 243 | 
            -
                name="line47"></a>47 begin </span><span class="marked0"><a
         | 
| 244 | 
            -
                name="line48"></a>48 self.rpc_driver ||=
         | 
| 245 | 
            -
                SOAP::WSDLDriverFactory.new(self.api_uri).create_rpc_driver </span><span
         | 
| 246 | 
            -
                class="inferred1"><a name="line49"></a>49 rescue SocketError, RuntimeError
         | 
| 247 | 
            -
                </span><span class="marked0"><a name="line50"></a>50 raise
         | 
| 248 | 
            -
                PostalMethods::NoConnectionError </span><span class="inferred1"><a
         | 
| 249 | 
            -
                name="line51"></a>51 end </span><span class="marked0"><a
         | 
| 250 | 
            -
                name="line52"></a>52 self.prepared = true </span><span class="marked1"><a
         | 
| 251 | 
            -
                name="line53"></a>53 return self </span><span class="inferred0"><a
         | 
| 252 | 
            -
                name="line54"></a>54 end </span><span class="inferred1"><a
         | 
| 253 | 
            -
                name="line55"></a>55 </span><span class="marked0"><a name="line56"></a>56
         | 
| 254 | 
            -
                def work_mode=(in_mode="default") </span><span class="marked1"><a
         | 
| 255 | 
            -
                name="line57"></a>57 mode = in_mode.to_s.downcase.to_sym </span><span
         | 
| 256 | 
            -
                class="inferred0"><a name="line58"></a>58 </span><span class="marked1"><a
         | 
| 257 | 
            -
                name="line59"></a>59 if self.valid_work_modes[mode].nil? </span><span
         | 
| 258 | 
            -
                class="uncovered0"><a name="line60"></a>60 @work_mode = :default
         | 
| 259 | 
            -
                </span><span class="inferred1"><a name="line61"></a>61 else </span><span
         | 
| 260 | 
            -
                class="marked0"><a name="line62"></a>62 @work_mode = mode </span><span
         | 
| 261 | 
            -
                class="inferred1"><a name="line63"></a>63 end </span><span
         | 
| 262 | 
            -
                class="inferred0"><a name="line64"></a>64 end </span><span
         | 
| 263 | 
            -
                class="inferred1"><a name="line65"></a>65 </span><span class="marked0"><a
         | 
| 264 | 
            -
                name="line66"></a>66 def work_mode </span><span class="marked1"><a
         | 
| 265 | 
            -
                name="line67"></a>67 return self.valid_work_modes[@work_mode] </span><span
         | 
| 266 | 
            -
                class="inferred0"><a name="line68"></a>68 end </span><span
         | 
| 267 | 
            -
                class="inferred1"><a name="line69"></a>69 </span><span class="inferred0"><a
         | 
| 268 | 
            -
                name="line70"></a>70 end </span><span class="inferred1"><a
         | 
| 269 | 
            -
                name="line71"></a>71 end </span></pre>
         | 
| 270 | 
            -
                <hr />
         | 
| 271 | 
            -
                <p> Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'> rcov
         | 
| 272 | 
            -
                code coverage analysis tool for Ruby </a> version 0.8.1.2. </p>
         | 
| 273 | 
            -
                <p>
         | 
| 274 | 
            -
                  <a href='http://validator.w3.org/check/referer'>
         | 
| 275 | 
            -
                    <img src='http://www.w3.org/Icons/valid-xhtml10' height='31' alt='Valid XHTML 1.0!' width='88' />
         | 
| 276 | 
            -
                  </a>
         | 
| 277 | 
            -
                  <a href='http://jigsaw.w3.org/css-validator/check/referer'>
         | 
| 278 | 
            -
                    <img src='http://jigsaw.w3.org/css-validator/images/vcss' alt='Valid CSS!' style='border:0;width:88px;height:31px' />
         | 
| 279 | 
            -
                  </a>
         | 
| 280 | 
            -
                </p>
         | 
| 281 | 
            -
              </body>
         | 
| 282 | 
            -
            </html>
         |