postalmethods 1.1.1 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,69 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
2
+ <HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>PostalMethods Postcard 4.25x6</TITLE>
3
+ <META content="text/html; charset=utf-8" http-equiv=Content-Type>
4
+ <STYLE>
5
+ DIV {
6
+ PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
7
+ }
8
+ #Postcard {
9
+ POSITION: absolute; WIDTH: 6.25in; HEIGHT: 4.5in
10
+ }
11
+ #Content {
12
+ POSITION: absolute; WIDTH: 3.5in; HEIGHT: 3.75in
13
+ }
14
+ #ContentText {POSITION: absolute; LEFT:0.375in; TOP:0.375in; FONT-FAMILY: # Garamond, serif; FONT-SIZE: 11pt;
15
+ }
16
+ #ContenImage {
17
+ POSITION: absolute; TOP: 0.375in; LEFT: 0.375in
18
+ }
19
+ #ReturnAddress {
20
+ POSITION: absolute; WIDTH: 2in; FLOAT: right; HEIGHT: 1in; TOP: 0.65in; RIGHT: 0.575in
21
+ }
22
+ #ReturnAddressText {
23
+ POSITION: absolute; WIDTH: 2in; BOTTOM: 0.125in; FONT-FAMILY: # Garamond, serif; FONT-SIZE: 7pt; VERTICAL-ALIGN: bottom
24
+ }
25
+ #Logo {
26
+ POSITION: absolute; WIDTH: 2in; HEIGHT: 1.125in; TOP: 1.75in; RIGHT: 0.3in
27
+ }
28
+ #Divider {
29
+ POSITION: absolute; WIDTH: 2px; HEIGHT: 3in; TOP: 0.65in; RIGHT: 2.625in; BORDER-LEFT: thin black solid
30
+ }
31
+ .style1 {
32
+ COLOR: #ff0000
33
+ }
34
+ .style2 {
35
+ COLOR: #00ff40
36
+ }
37
+ .style3 {
38
+ COLOR: #0000ff
39
+ }
40
+ .style4 {
41
+ COLOR: #400080
42
+ }
43
+ .style5 {
44
+ COLOR: #ff00ff
45
+ }
46
+ .style6 {
47
+ COLOR: #004040
48
+ }
49
+ .style7 {
50
+ COLOR: #ff8040
51
+ }
52
+ .style8 {
53
+ COLOR: #804040
54
+ }
55
+ </STYLE>
56
+
57
+ <META name=GENERATOR content="MSHTML 8.00.6001.18702"></HEAD>
58
+ <BODY leftMargin=0 topMargin=0>
59
+ <DIV id=Postcard>
60
+ <!--<DIV id=Divider></DIV>-->
61
+ <DIV id=Content>
62
+ <DIV id=ContentText><BR>
63
+ Don't forget to check out our other sales items.
64
+ <DIV id=ReturnAddress>
65
+ <DIV id=ReturnAddressText>
66
+ Return Address Here<br>
67
+ 1600 Pennsylvania Ave Nw<br>
68
+ Washington, DC, 20500, USA</DIV></DIV>
69
+ <DIV id=Logo></DIV></DIV></BODY></HTML>
@@ -0,0 +1,34 @@
1
+ <HTML>
2
+ <HEAD>
3
+ <TITLE>PostalMethods Postcard 4.25x6 Image Side</TITLE>
4
+ <STYLE>
5
+ body {
6
+ margin:0;
7
+ padding:0;
8
+ width:6.25in;
9
+ height:4.5in;
10
+ }
11
+ #ContentSafeArea {
12
+ position:absolute;
13
+ width:5.5in;
14
+ height:3.75in;
15
+ left:0.375in;
16
+ top:0.375in;
17
+ }
18
+ </STYLE>
19
+ </HEAD>
20
+ <!-- The full bleed size of the postcard is 4.25in by 6in. When using an image, it is recommended to
21
+ have the image strech to the edges of the bleed but make sure the important content appears 0.375in
22
+ from every edge. -->
23
+ <BODY>
24
+ <!-- The safe area, where content will not be cut off is 0.375in from the full bleed margins. If you are using
25
+ an image, you can delete this DIV. -->
26
+ <DIV id="ContentSafeArea">
27
+ <span style="color:red"><h1>SALE</h1></span>
28
+ <span style="color:green"><h1>SALE</h1></span>
29
+ <span style="color:blue"><h1>SALE</h1></span>
30
+ <span style="color:black"><h1>SALE</h1></span>
31
+ <span style="color:orange"><h1>SALE</h1></span>
32
+ </DIV>
33
+ </BODY>
34
+ </HTML>
@@ -10,67 +10,68 @@ describe "Get Letter Status" do
10
10
  end
11
11
 
12
12
  it "should send a letter and get status" do
13
- ## use a static known good id that has gone thru in dev mode
14
- f = @client.get_letter_status(1023577)
13
+ id = @client.send_letter(@doc, "the long goodbye").to_i
14
+ sleep(60) #give it half a tic to catch up
15
+ f = @client.get_letter_status(id)
15
16
  f.length.should == 2
16
17
  f.first.to_i.should == -1002
17
18
  end
18
19
 
19
- it "should try to get status of a letter i don't have access to" do
20
- # FIXME: this is a bad test as it doesn't really prove what we're trying to.
21
- # much better to have a different user make a new post etc..
22
- lambda { @client.get_letter_status(1020000)}.should raise_error(PostalMethods::APIStatusCode3116Exception)
23
- end
24
-
25
-
26
- it "should send multiple letters and get their status" do
27
- letters = []
28
- 1.upto(3) do
29
- @doc = open(File.dirname(__FILE__) + '/../spec/doc/sample.pdf')
30
- @client = PostalMethods::Client.new(PM_OPTS)
31
- @client.prepare!
32
- rv = @client.send_letter(@doc, "the long goodbye")
33
- rv.should > 0
34
- letters << rv
35
- #sleep(10) # api needs some time
36
- end
37
-
38
- ret = @client.get_letter_status_multiple(letters)
39
- ret.should be_an_instance_of(Array)
40
-
41
- # the return is an array [results, status]
42
- recv_letters = ret.collect { |r| r.iD.to_i }
20
+ # it "should try to get status of a letter i don't have access to" do
21
+ # # FIXME: this is a bad test as it doesn't really prove what we're trying to.
22
+ # # much better to have a different user make a new post etc..
23
+ # lambda { @client.get_letter_status(1020000)}.should raise_error(PostalMethods::APIStatusCode3116Exception)
24
+ # end
43
25
 
44
- recv_letters.should == letters
45
- end
46
-
47
- it "should attempt to request a multiple array of invalid letters" do
48
- lambda { @client.get_letter_status_multiple([1,2,3]) }.should raise_error(PostalMethods::APIStatusCode3115Exception)
49
- end
50
-
51
- it "should request a range of letters and get their status" do
52
- letters = []
53
- 1.upto(3) do
54
- @doc = open(File.dirname(__FILE__) + '/../spec/doc/sample.pdf')
55
- @client = PostalMethods::Client.new(PM_OPTS)
56
- @client.prepare!
57
- rv = @client.send_letter(@doc, "the long goodbye")
58
- rv.should > 0
59
- letters << rv
60
- #sleep(10) # api needs some time
61
- end
62
-
63
- ret = @client.get_letter_status_range(letters.first, letters.last)
64
- ret.should be_an_instance_of(Array)
65
-
66
- # the return is an array [results, status]
67
- recv_letters = ret.collect { |r| r.iD.to_i }
68
-
69
- recv_letters.should == letters
70
- end
71
-
72
- it "should attempt to request a range of invalid letters" do
73
- lambda { @client.get_letter_status_range(1,3) }.should raise_error(PostalMethods::APIStatusCode3115Exception)
74
- end
26
+
27
+ # it "should send multiple letters and get their status" do
28
+ # letters = []
29
+ # 1.upto(3) do
30
+ # @doc = open(File.dirname(__FILE__) + '/../spec/doc/sample.pdf')
31
+ # @client = PostalMethods::Client.new(PM_OPTS)
32
+ # @client.prepare!
33
+ # rv = @client.send_letter(@doc, "the long goodbye")
34
+ # rv.should > 0
35
+ # letters << rv
36
+ # #sleep(10) # api needs some time
37
+ # end
38
+ #
39
+ # ret = @client.get_letter_status_multiple(letters)
40
+ # ret.should be_an_instance_of(Array)
41
+ #
42
+ # # the return is an array [results, status]
43
+ # recv_letters = ret.collect { |r| r.iD.to_i }
44
+ #
45
+ # recv_letters.should == letters
46
+ # end
75
47
 
48
+ # it "should attempt to request a multiple array of invalid letters" do
49
+ # lambda { @client.get_letter_status_multiple([1,2,3]) }.should raise_error(PostalMethods::APIStatusCode3115Exception)
50
+ # end
51
+ #
52
+ # it "should request a range of letters and get their status" do
53
+ # letters = []
54
+ # 1.upto(3) do
55
+ # @doc = open(File.dirname(__FILE__) + '/../spec/doc/sample.pdf')
56
+ # @client = PostalMethods::Client.new(PM_OPTS)
57
+ # @client.prepare!
58
+ # rv = @client.send_letter(@doc, "the long goodbye")
59
+ # rv.should > 0
60
+ # letters << rv
61
+ # #sleep(10) # api needs some time
62
+ # end
63
+ #
64
+ # ret = @client.get_letter_status_range(letters.first, letters.last)
65
+ # ret.should be_an_instance_of(Array)
66
+ #
67
+ # # the return is an array [results, status]
68
+ # recv_letters = ret.collect { |r| r.iD.to_i }
69
+ #
70
+ # recv_letters.should == letters
71
+ # end
72
+ #
73
+ # it "should attempt to request a range of invalid letters" do
74
+ # lambda { @client.get_letter_status_range(1,3) }.should raise_error(PostalMethods::APIStatusCode3115Exception)
75
+ # end
76
+ #
76
77
  end
data/spec/spec_helper.rb CHANGED
@@ -12,7 +12,7 @@ require 'postalmethods'
12
12
 
13
13
  $VERBOSE = nil ##silence annoying warnings from soap4r
14
14
 
15
- PM_OPTS = {:username => 'imajes', :password => 'rubyr00ls'}
15
+ PM_OPTS = {:api_key=>'1a7ba530-d926-4b17-aaae-2ea215ff25fd'}
16
16
 
17
17
  # hash hacks to make hacking in specs easier
18
18
  class Hash
@@ -27,4 +27,4 @@ class Hash
27
27
  end
28
28
  end
29
29
 
30
- require "ruby-debug"
30
+ require "ruby-debug"
data/spec/utility_spec.rb CHANGED
@@ -10,16 +10,16 @@ describe "Utility Methods" do
10
10
  end
11
11
 
12
12
  it "Should get a pdf returned for a file sent" do
13
- rv = @client.get_pdf(1023117) ## use known static / magic file. sucks, but what can you do?
14
- rv.length.should == 49606
13
+ id = @client.send_letter(@doc, "the long goodbye").to_i
14
+ sleep(30) # give the doc a chance to process, otherwise fails out
15
+ rv = @client.get_pdf(id)
15
16
  f = open("test_output.pdf", "w")
16
-
17
17
  f.write(rv)
18
- (`file test_output.pdf`).should == "test_output.pdf: PDF document, version 1.3\n"
18
+ (`file test_output.pdf`).should == "test_output.pdf: PDF document, version 1.4\n"
19
19
  system("rm test_output.pdf")
20
20
  end
21
-
22
- it "should check for error for when there is no file yet" do
21
+
22
+ it "should check for error for when there is no file yet" do
23
23
  id = @client.send_letter(@doc, "the long goodbye")
24
24
  id.should > 0
25
25
  lambda {@client.get_pdf(id)}.should raise_error(PostalMethods::APIStatusCode3020Exception)
@@ -36,15 +36,16 @@ describe "Utility Methods" do
36
36
  # and now the item...
37
37
  details.first.should be_an_instance_of(SOAP::Mapping::Object)
38
38
 
39
- details.first.price.should == "0.00"
40
- details.first.iD.to_i.should == id ## be careful not to confuse with class id
39
+ #details.first.price.should == "0.00"
40
+ details.first.details.extendedDetails.price.should == "0.00"
41
+ details.first.details.extendedDetails.iD.to_i.should == id ## be careful not to confuse with class id
41
42
  details.last.should be_a_kind_of(String)
42
43
  details.last.should == "Development"
43
44
  end
44
45
 
45
- it "should raise a letter does not exist (3116) error when trying to get details of an invalid letter" do
46
+ it "should raise a no data returned for your query (3115) error when trying to get details of an invalid letter" do
46
47
  sleep(6) # got to wait 6 seconds...
47
- lambda { @client.get_letter_details(1)}.should raise_error(PostalMethods::APIStatusCode3116Exception)
48
+ lambda { @client.get_letter_details(1)}.should raise_error(PostalMethods::APIStatusCode3115Exception)
48
49
  end
49
50
 
50
51
  it "should cancel delivery of a letter" do
@@ -52,10 +53,9 @@ describe "Utility Methods" do
52
53
  rv = @client.cancel_delivery(id)
53
54
  rv.should be_true
54
55
  end
55
-
56
+
56
57
  it "should raise a letter does not exist (3116) error when trying to cancel an invalid letter" do
57
58
  lambda { @client.cancel_delivery(1)}.should raise_error(PostalMethods::APIStatusCode3116Exception)
58
59
  end
59
60
 
60
-
61
- end
61
+ end
data/tasks/rspec.rake CHANGED
@@ -1,8 +1,10 @@
1
1
  begin
2
2
  require 'spec'
3
+ require 'hoe'
3
4
  rescue LoadError
4
5
  require 'rubygems'
5
6
  require 'spec'
7
+ require 'hoe'
6
8
  end
7
9
  begin
8
10
  require 'spec/rake/spectask'
@@ -30,4 +32,4 @@ namespace :spec do
30
32
  IO.readlines("spec/rcov.opts").map {|l| l.chomp.split " "}.flatten
31
33
  end
32
34
  end
33
- end
35
+ end
metadata CHANGED
@@ -1,40 +1,59 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: postalmethods
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ hash: 21
5
+ prerelease: false
6
+ segments:
7
+ - 1
8
+ - 1
9
+ - 3
10
+ version: 1.1.3
5
11
  platform: ruby
6
12
  authors:
7
13
  - James Cox
14
+ - Joe Fair
8
15
  autorequire:
9
16
  bindir: bin
10
17
  cert_chain: []
11
18
 
12
- date: 2008-12-28 00:00:00 -03:00
19
+ date: 2010-07-01 00:00:00 -06:00
13
20
  default_executable:
14
21
  dependencies:
15
22
  - !ruby/object:Gem::Dependency
16
23
  name: newgem
17
- type: :development
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
20
27
  requirements:
21
28
  - - ">="
22
29
  - !ruby/object:Gem::Version
30
+ hash: 29
31
+ segments:
32
+ - 1
33
+ - 2
34
+ - 1
23
35
  version: 1.2.1
24
- version:
36
+ type: :development
37
+ version_requirements: *id001
25
38
  - !ruby/object:Gem::Dependency
26
39
  name: hoe
27
- type: :development
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
40
+ prerelease: false
41
+ requirement: &id002 !ruby/object:Gem::Requirement
42
+ none: false
30
43
  requirements:
31
44
  - - ">="
32
45
  - !ruby/object:Gem::Version
46
+ hash: 55
47
+ segments:
48
+ - 1
49
+ - 8
50
+ - 0
33
51
  version: 1.8.0
34
- version:
52
+ type: :development
53
+ version_requirements: *id002
35
54
  description: API wrapper library for the postal methods api.
36
55
  email:
37
- - james@imaj.es
56
+ - joe@bodkinconsulting.com
38
57
  executables: []
39
58
 
40
59
  extensions: []
@@ -56,13 +75,6 @@ files:
56
75
  - Rakefile
57
76
  - config/hoe.rb
58
77
  - config/requirements.rb
59
- - coverage/index.html
60
- - coverage/lib-postalmethods-document_processor_rb.html
61
- - coverage/lib-postalmethods-exceptions_rb.html
62
- - coverage/lib-postalmethods-get_letter_status_rb.html
63
- - coverage/lib-postalmethods-send_letter_rb.html
64
- - coverage/lib-postalmethods-utility_rb.html
65
- - coverage/lib-postalmethods_rb.html
66
78
  - lib/postalmethods.rb
67
79
  - lib/postalmethods/document_processor.rb
68
80
  - lib/postalmethods/exceptions.rb
@@ -87,6 +99,8 @@ files:
87
99
  - spec/spec_helper.rb
88
100
  - spec/utility_spec.rb
89
101
  - tasks/rspec.rake
102
+ - spec/doc/postcard_address_side_with_return_address.html
103
+ - spec/doc/postcard_image_side_with_return_address.html
90
104
  has_rdoc: true
91
105
  homepage: http://www.postalmethods.com/resources/quickstart
92
106
  licenses: []
@@ -98,21 +112,27 @@ rdoc_options:
98
112
  require_paths:
99
113
  - lib
100
114
  required_ruby_version: !ruby/object:Gem::Requirement
115
+ none: false
101
116
  requirements:
102
117
  - - ">="
103
118
  - !ruby/object:Gem::Version
119
+ hash: 3
120
+ segments:
121
+ - 0
104
122
  version: "0"
105
- version:
106
123
  required_rubygems_version: !ruby/object:Gem::Requirement
124
+ none: false
107
125
  requirements:
108
126
  - - ">="
109
127
  - !ruby/object:Gem::Version
128
+ hash: 3
129
+ segments:
130
+ - 0
110
131
  version: "0"
111
- version:
112
132
  requirements: []
113
133
 
114
134
  rubyforge_project: postalmethods
115
- rubygems_version: 1.3.5
135
+ rubygems_version: 1.3.7
116
136
  signing_key:
117
137
  specification_version: 2
118
138
  summary: API wrapper library for the postal methods api.
data/coverage/index.html DELETED
@@ -1,163 +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
- 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
- </head>
51
- <body>
52
- <h3>
53
- C0 code coverage information
54
- </h3>
55
- <p>
56
- Generated on Sun Dec 21 22:36:23 +0000 2008 with
57
- <a href='http://eigenclass.org/hiki/rcov'>
58
- rcov 0.8.1.2
59
- </a>
60
- </p>
61
- <hr />
62
- <table class='report'> <thead> <tr> <td class='heading'> Name </td> <td
63
- class='heading'> Total lines </td> <td class='heading'> Lines of code </td>
64
- <td class='heading'> Total coverage </td> <td class='heading'> Code coverage
65
- </td> </tr> </thead> <tbody> <tr class='light'> <td> TOTAL </td> <td
66
- class='lines_total'> <tt> 371 </tt> </td> <td class='lines_code'> <tt> 269
67
- </tt> </td> <td> <table cellspacing='0' align='right' cellpadding='0'> <tr>
68
- <td> <tt class='coverage_total'> 94.9% </tt> &nbsp; </td> <td> <table
69
- class='percent_graph' cellspacing='0' width='100' cellpadding='0'> <tr> <td
70
- class='covered' width='95' /> <td class='uncovered' width='5' /> </tr>
71
- </table> </td> </tr> </table> </td> <td> <table cellspacing='0'
72
- align='right' cellpadding='0'> <tr> <td> <tt class='coverage_code'> 92.9%
73
- </tt> &nbsp; </td> <td> <table class='percent_graph' cellspacing='0'
74
- width='100' cellpadding='0'> <tr> <td class='covered' width='93' /> <td
75
- class='uncovered' width='7' /> </tr> </table> </td> </tr> </table> </td>
76
- </tr> <tr class='dark'> <td> <a href='lib-postalmethods_rb.html'>
77
- lib/postalmethods.rb </a> </td> <td class='lines_total'> <tt> 71 </tt> </td>
78
- <td class='lines_code'> <tt> 52 </tt> </td> <td> <table cellspacing='0'
79
- align='right' cellpadding='0'> <tr> <td> <tt class='coverage_total'> 97.2%
80
- </tt> &nbsp; </td> <td> <table class='percent_graph' cellspacing='0'
81
- width='100' cellpadding='0'> <tr> <td class='covered' width='97' /> <td
82
- class='uncovered' width='3' /> </tr> </table> </td> </tr> </table> </td>
83
- <td> <table cellspacing='0' align='right' cellpadding='0'> <tr> <td> <tt
84
- class='coverage_code'> 96.2% </tt> &nbsp; </td> <td> <table
85
- class='percent_graph' cellspacing='0' width='100' cellpadding='0'> <tr> <td
86
- class='covered' width='96' /> <td class='uncovered' width='4' /> </tr>
87
- </table> </td> </tr> </table> </td> </tr> <tr class='light'> <td> <a
88
- href='lib-postalmethods-document_processor_rb.html'>
89
- lib/postalmethods/document_processor.rb </a> </td> <td class='lines_total'>
90
- <tt> 25 </tt> </td> <td class='lines_code'> <tt> 20 </tt> </td> <td> <table
91
- cellspacing='0' align='right' cellpadding='0'> <tr> <td> <tt
92
- class='coverage_total'> 100.0% </tt> &nbsp; </td> <td> <table
93
- class='percent_graph' cellspacing='0' width='100' cellpadding='0'> <tr> <td
94
- class='covered' width='100' /> <td class='uncovered' width='0' /> </tr>
95
- </table> </td> </tr> </table> </td> <td> <table cellspacing='0'
96
- align='right' cellpadding='0'> <tr> <td> <tt class='coverage_code'> 100.0%
97
- </tt> &nbsp; </td> <td> <table class='percent_graph' cellspacing='0'
98
- width='100' cellpadding='0'> <tr> <td class='covered' width='100' /> <td
99
- class='uncovered' width='0' /> </tr> </table> </td> </tr> </table> </td>
100
- </tr> <tr class='dark'> <td> <a href='lib-postalmethods-exceptions_rb.html'>
101
- lib/postalmethods/exceptions.rb </a> </td> <td class='lines_total'> <tt> 97
102
- </tt> </td> <td class='lines_code'> <tt> 80 </tt> </td> <td> <table
103
- cellspacing='0' align='right' cellpadding='0'> <tr> <td> <tt
104
- class='coverage_total'> 93.8% </tt> &nbsp; </td> <td> <table
105
- class='percent_graph' cellspacing='0' width='100' cellpadding='0'> <tr> <td
106
- class='covered' width='94' /> <td class='uncovered' width='6' /> </tr>
107
- </table> </td> </tr> </table> </td> <td> <table cellspacing='0'
108
- align='right' cellpadding='0'> <tr> <td> <tt class='coverage_code'> 92.5%
109
- </tt> &nbsp; </td> <td> <table class='percent_graph' cellspacing='0'
110
- width='100' cellpadding='0'> <tr> <td class='covered' width='93' /> <td
111
- class='uncovered' width='7' /> </tr> </table> </td> </tr> </table> </td>
112
- </tr> <tr class='light'> <td> <a
113
- href='lib-postalmethods-get_letter_status_rb.html'>
114
- lib/postalmethods/get_letter_status.rb </a> </td> <td class='lines_total'>
115
- <tt> 69 </tt> </td> <td class='lines_code'> <tt> 43 </tt> </td> <td> <table
116
- cellspacing='0' align='right' cellpadding='0'> <tr> <td> <tt
117
- class='coverage_total'> 100.0% </tt> &nbsp; </td> <td> <table
118
- class='percent_graph' cellspacing='0' width='100' cellpadding='0'> <tr> <td
119
- class='covered' width='100' /> <td class='uncovered' width='0' /> </tr>
120
- </table> </td> </tr> </table> </td> <td> <table cellspacing='0'
121
- align='right' cellpadding='0'> <tr> <td> <tt class='coverage_code'> 100.0%
122
- </tt> &nbsp; </td> <td> <table class='percent_graph' cellspacing='0'
123
- width='100' cellpadding='0'> <tr> <td class='covered' width='100' /> <td
124
- class='uncovered' width='0' /> </tr> </table> </td> </tr> </table> </td>
125
- </tr> <tr class='dark'> <td> <a
126
- href='lib-postalmethods-send_letter_rb.html'>
127
- lib/postalmethods/send_letter.rb </a> </td> <td class='lines_total'> <tt> 49
128
- </tt> </td> <td class='lines_code'> <tt> 31 </tt> </td> <td> <table
129
- cellspacing='0' align='right' cellpadding='0'> <tr> <td> <tt
130
- class='coverage_total'> 100.0% </tt> &nbsp; </td> <td> <table
131
- class='percent_graph' cellspacing='0' width='100' cellpadding='0'> <tr> <td
132
- class='covered' width='100' /> <td class='uncovered' width='0' /> </tr>
133
- </table> </td> </tr> </table> </td> <td> <table cellspacing='0'
134
- align='right' cellpadding='0'> <tr> <td> <tt class='coverage_code'> 100.0%
135
- </tt> &nbsp; </td> <td> <table class='percent_graph' cellspacing='0'
136
- width='100' cellpadding='0'> <tr> <td class='covered' width='100' /> <td
137
- class='uncovered' width='0' /> </tr> </table> </td> </tr> </table> </td>
138
- </tr> <tr class='light'> <td> <a href='lib-postalmethods-utility_rb.html'>
139
- lib/postalmethods/utility.rb </a> </td> <td class='lines_total'> <tt> 60
140
- </tt> </td> <td class='lines_code'> <tt> 43 </tt> </td> <td> <table
141
- cellspacing='0' align='right' cellpadding='0'> <tr> <td> <tt
142
- class='coverage_total'> 81.7% </tt> &nbsp; </td> <td> <table
143
- class='percent_graph' cellspacing='0' width='100' cellpadding='0'> <tr> <td
144
- class='covered' width='82' /> <td class='uncovered' width='18' /> </tr>
145
- </table> </td> </tr> </table> </td> <td> <table cellspacing='0'
146
- align='right' cellpadding='0'> <tr> <td> <tt class='coverage_code'> 74.4%
147
- </tt> &nbsp; </td> <td> <table class='percent_graph' cellspacing='0'
148
- width='100' cellpadding='0'> <tr> <td class='covered' width='74' /> <td
149
- class='uncovered' width='26' /> </tr> </table> </td> </tr> </table> </td>
150
- </tr> </tbody> </table>
151
- <hr />
152
- <p> Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'> rcov
153
- code coverage analysis tool for Ruby </a> version 0.8.1.2. </p>
154
- <p>
155
- <a href='http://validator.w3.org/check/referer'>
156
- <img src='http://www.w3.org/Icons/valid-xhtml11' height='31' alt='Valid XHTML 1.1!' width='88' />
157
- </a>
158
- <a href='http://jigsaw.w3.org/css-validator/check/referer'>
159
- <img src='http://jigsaw.w3.org/css-validator/images/vcss' alt='Valid CSS!' style='border:0;width:88px;height:31px' />
160
- </a>
161
- </p>
162
- </body>
163
- </html>