html-table 1.3.3 → 1.3.4

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/CHANGES CHANGED
@@ -1,3 +1,10 @@
1
+ == 1.3.4 - 29-Sep-2009
2
+ * The test-unit library is now a development dependency instead of a
3
+ standard dependency.
4
+ * Removed all load path mangling.
5
+ * License changed to Artistic 2.0.
6
+ * Updated the gemspec description, added a license.
7
+
1
8
  == 1.3.3 - 5-Feb-2009
2
9
  * Added structured_warnings as a requirement. The non standard tags now
3
10
  raise a NonStandardExtensionWarning. These are now _always_ raised whenever
data/README CHANGED
@@ -103,7 +103,7 @@
103
103
  Holden Glova and Culley Harrelson for API suggestions and comments.
104
104
 
105
105
  == License
106
- Ruby's
106
+ Artistic 2.0
107
107
 
108
108
  == Copyright
109
109
  (C) 2003-2009 Daniel J. Berger
@@ -116,8 +116,6 @@
116
116
 
117
117
  == Author
118
118
  Daniel J. Berger
119
- djberg96 at gmail dot com
120
- imperator on IRC (irc.freenode.net)
121
119
 
122
120
  == Developer's Notes
123
121
  Some people might be a little annoyed with the fact that I required Ryan
data/Rakefile CHANGED
@@ -1,142 +1,145 @@
1
- require 'rake'
2
- require 'rake/testtask'
3
-
4
- desc "Install the html-table package (non-gem)"
5
- task :install do
6
- dest = File.join(Config::CONFIG['sitelibdir'], 'html')
7
- Dir.mkdir(dest) unless File.exists? dest
8
- Dir['lib/html/*.rb'].each{ |f|
9
- cp f, dest, :verbose => true
10
- }
11
- end
12
-
13
- desc "Install the html-table package as a gem"
14
- task :install_gem do
15
- ruby 'html-table.gemspec'
16
- file = Dir["*.gem"].first
17
- sh "gem install #{file}"
18
- end
19
-
20
-
21
- namespace 'example' do
22
- desc "Run the first simple html-table example"
23
- task :simple1 do
24
- sh 'ruby -Ilib examples/simple1.rb'
25
- end
26
-
27
- desc "Run the second simple html-table example"
28
- task :simple2 do
29
- sh 'ruby -Ilib examples/simple2.rb'
30
- end
31
-
32
- desc "Run the third simple html-table example"
33
- task :simple3 do
34
- sh 'ruby -Ilib examples/simple3.rb'
35
- end
36
-
37
- desc "Run the first intermediate html-table example"
38
- task :intermediate1 do
39
- sh 'ruby -Ilib examples/intermediate1.rb'
40
- end
41
-
42
- desc "Run the second intermediate html-table example"
43
- task :intermediate2 do
44
- sh 'ruby -Ilib examples/intermediate2.rb'
45
- end
46
-
47
- desc "Run the advanced html-table example"
48
- task :advanced do
49
- sh 'ruby -Ilib examples/advanced.rb'
50
- end
51
- end
52
-
53
- Rake::TestTask.new do |t|
54
- t.warning = true
55
- t.verbose = true
56
- end
57
-
58
- namespace 'test' do
59
- Rake::TestTask.new('attribute_handler') do |t|
60
- t.warning = true
61
- t.verbose = true
62
- t.test_files = FileList['test/test_attribute_handler.rb']
63
- end
64
-
65
- Rake::TestTask.new('body') do |t|
66
- t.warning = true
67
- t.verbose = true
68
- t.test_files = FileList['test/test_body.rb']
69
- end
70
-
71
- Rake::TestTask.new('caption') do |t|
72
- t.warning = true
73
- t.verbose = true
74
- t.test_files = FileList['test/test_caption.rb']
75
- end
76
-
77
- Rake::TestTask.new('col') do |t|
78
- t.warning = true
79
- t.verbose = true
80
- t.test_files = FileList['test/test_col.rb']
81
- end
82
-
83
- Rake::TestTask.new('colgroup') do |t|
84
- t.warning = true
85
- t.verbose = true
86
- t.test_files = FileList['test/test_colgroup.rb']
87
- end
88
-
89
- Rake::TestTask.new('data') do |t|
90
- t.warning = true
91
- t.verbose = true
92
- t.test_files = FileList['test/test_data.rb']
93
- end
94
-
95
- Rake::TestTask.new('foot') do |t|
96
- t.warning = true
97
- t.verbose = true
98
- t.test_files = FileList['test/test_foot.rb']
99
- end
100
-
101
- Rake::TestTask.new('head') do |t|
102
- t.warning = true
103
- t.verbose = true
104
- t.test_files = FileList['test/test_head.rb']
105
- end
106
-
107
- Rake::TestTask.new('header') do |t|
108
- t.warning = true
109
- t.verbose = true
110
- t.test_files = FileList['test/test_header.rb']
111
- end
112
-
113
- Rake::TestTask.new('html_handler') do |t|
114
- t.warning = true
115
- t.verbose = true
116
- t.test_files = FileList['test/test_html_handler.rb']
117
- end
118
-
119
- Rake::TestTask.new('row') do |t|
120
- t.warning = true
121
- t.verbose = true
122
- t.test_files = FileList['test/test_row.rb']
123
- end
124
-
125
- Rake::TestTask.new('table') do |t|
126
- t.warning = true
127
- t.verbose = true
128
- t.test_files = FileList['test/test_table.rb']
129
- end
130
-
131
- Rake::TestTask.new('tablesection') do |t|
132
- t.warning = true
133
- t.verbose = true
134
- t.test_files = FileList['test/test_tablesection.rb']
135
- end
136
-
137
- Rake::TestTask.new('tag_handler') do |t|
138
- t.warning = true
139
- t.verbose = true
140
- t.test_files = FileList['test/test_tag_handler.rb']
141
- end
142
- end
1
+ require 'rake'
2
+ require 'rake/testtask'
3
+
4
+ desc "Install the html-table package (non-gem)"
5
+ task :install do
6
+ dest = File.join(Config::CONFIG['sitelibdir'], 'html')
7
+ Dir.mkdir(dest) unless File.exists? dest
8
+ Dir['lib/html/*.rb'].each{ |f|
9
+ cp f, dest, :verbose => true
10
+ }
11
+ end
12
+
13
+ desc 'Build the html-table gem'
14
+ task :gem do
15
+ spec = eval(IO.read('html-table.gemspec'))
16
+ Gem::Builder.new(spec).build
17
+
18
+ desc "Install the html-table package as a gem"
19
+ task :install_gem => [:gem] do
20
+ file = Dir["*.gem"].first
21
+ sh "gem install #{file}"
22
+ end
23
+
24
+ namespace 'example' do
25
+ desc "Run the first simple html-table example"
26
+ task :simple1 do
27
+ sh 'ruby -Ilib examples/simple1.rb'
28
+ end
29
+
30
+ desc "Run the second simple html-table example"
31
+ task :simple2 do
32
+ sh 'ruby -Ilib examples/simple2.rb'
33
+ end
34
+
35
+ desc "Run the third simple html-table example"
36
+ task :simple3 do
37
+ sh 'ruby -Ilib examples/simple3.rb'
38
+ end
39
+
40
+ desc "Run the first intermediate html-table example"
41
+ task :intermediate1 do
42
+ sh 'ruby -Ilib examples/intermediate1.rb'
43
+ end
44
+
45
+ desc "Run the second intermediate html-table example"
46
+ task :intermediate2 do
47
+ sh 'ruby -Ilib examples/intermediate2.rb'
48
+ end
49
+
50
+ desc "Run the advanced html-table example"
51
+ task :advanced do
52
+ sh 'ruby -Ilib examples/advanced.rb'
53
+ end
54
+ end
55
+
56
+ Rake::TestTask.new do |t|
57
+ t.warning = true
58
+ t.verbose = true
59
+ end
60
+
61
+ namespace 'test' do
62
+ Rake::TestTask.new('attribute_handler') do |t|
63
+ t.warning = true
64
+ t.verbose = true
65
+ t.test_files = FileList['test/test_attribute_handler.rb']
66
+ end
67
+
68
+ Rake::TestTask.new('body') do |t|
69
+ t.warning = true
70
+ t.verbose = true
71
+ t.test_files = FileList['test/test_body.rb']
72
+ end
73
+
74
+ Rake::TestTask.new('caption') do |t|
75
+ t.warning = true
76
+ t.verbose = true
77
+ t.test_files = FileList['test/test_caption.rb']
78
+ end
79
+
80
+ Rake::TestTask.new('col') do |t|
81
+ t.warning = true
82
+ t.verbose = true
83
+ t.test_files = FileList['test/test_col.rb']
84
+ end
85
+
86
+ Rake::TestTask.new('colgroup') do |t|
87
+ t.warning = true
88
+ t.verbose = true
89
+ t.test_files = FileList['test/test_colgroup.rb']
90
+ end
91
+
92
+ Rake::TestTask.new('data') do |t|
93
+ t.warning = true
94
+ t.verbose = true
95
+ t.test_files = FileList['test/test_data.rb']
96
+ end
97
+
98
+ Rake::TestTask.new('foot') do |t|
99
+ t.warning = true
100
+ t.verbose = true
101
+ t.test_files = FileList['test/test_foot.rb']
102
+ end
103
+
104
+ Rake::TestTask.new('head') do |t|
105
+ t.warning = true
106
+ t.verbose = true
107
+ t.test_files = FileList['test/test_head.rb']
108
+ end
109
+
110
+ Rake::TestTask.new('header') do |t|
111
+ t.warning = true
112
+ t.verbose = true
113
+ t.test_files = FileList['test/test_header.rb']
114
+ end
115
+
116
+ Rake::TestTask.new('html_handler') do |t|
117
+ t.warning = true
118
+ t.verbose = true
119
+ t.test_files = FileList['test/test_html_handler.rb']
120
+ end
121
+
122
+ Rake::TestTask.new('row') do |t|
123
+ t.warning = true
124
+ t.verbose = true
125
+ t.test_files = FileList['test/test_row.rb']
126
+ end
127
+
128
+ Rake::TestTask.new('table') do |t|
129
+ t.warning = true
130
+ t.verbose = true
131
+ t.test_files = FileList['test/test_table.rb']
132
+ end
133
+
134
+ Rake::TestTask.new('tablesection') do |t|
135
+ t.warning = true
136
+ t.verbose = true
137
+ t.test_files = FileList['test/test_tablesection.rb']
138
+ end
139
+
140
+ Rake::TestTask.new('tag_handler') do |t|
141
+ t.warning = true
142
+ t.verbose = true
143
+ t.test_files = FileList['test/test_tag_handler.rb']
144
+ end
145
+ end
@@ -1,15 +1,15 @@
1
- == Description
2
- A Table::Content is a wrapper for content used for Table::Row::Data and
3
- Table::Row::Header objects. Although it can be instantiated directly, in
4
- practice it is autogenerated for you.
5
-
6
- == Notes
7
- Table::Content is a subclass of String and was mostly created in order
8
- to support a DSL style syntax as well as physical tags.
9
-
10
- == Synopsis
11
- content = Table::Content.new('my content') do
12
- bold true
13
- italics true
14
- underline true
15
- end
1
+ == Description
2
+ A Table::Content is a wrapper for content used for Table::Row::Data and
3
+ Table::Row::Header objects. Although it can be instantiated directly, in
4
+ practice it is autogenerated for you.
5
+
6
+ == Notes
7
+ Table::Content is a subclass of String and was mostly created in order
8
+ to support a DSL style syntax as well as physical tags.
9
+
10
+ == Synopsis
11
+ content = Table::Content.new('my content') do
12
+ bold true
13
+ italics true
14
+ underline true
15
+ end
data/examples/advanced.rb CHANGED
@@ -1,128 +1,128 @@
1
- ##############################################################################
2
- # advanced1.rb
3
- #
4
- # For this example we'll use every feature I can think of to come up with
5
- # the example found in "HTML: The Definitive Guide", pp. 395-396 (O'Reilly
6
- # & Associates, 3rd ed).
7
- #
8
- # You can run this example via the 'example:advanced' rake task.
9
- ##############################################################################
10
- require 'html/table'
11
- include HTML
12
-
13
- Table::Row::Data.end_tags = false
14
- Table::Row::Header.end_tags = false
15
-
16
- # Demonstrates the DSL style syntax
17
- table = Table.new do
18
- border 1
19
- cellspacing 0
20
- cellpadding 0
21
- rules 'groups'
22
- end
23
-
24
- # Demonstrates the use of setters after object creation
25
- caption = Table::Caption.new
26
- caption.align = "bottom"
27
- caption.content = "Kumquat versus a poked eye, by gender"
28
-
29
- thead = Table::Head.create
30
- tbody = Table::Body.new
31
- tfoot = Table::Foot.create
32
-
33
- # Add a row with a td and th, then configure after the fact.
34
- thead.push Table::Row.new{ |r|
35
- r.content = Table::Row::Data.new, Table::Row::Header.new
36
- }
37
-
38
- # And again, longhand
39
- hrow = Table::Row.new
40
- h1 = Table::Row::Header.new('Eating Kumquats')
41
- h2 = Table::Row::Header.new('Poke In The Eye')
42
- hrow.push h1, h2
43
- thead.push hrow
44
-
45
- # Configure a row after the fact
46
- thead.configure(0,0){ |d|
47
- d.colspan = 2
48
- d.rowspan = 2
49
- }
50
-
51
- thead.configure(0,1){ |h|
52
- h.colspan = 2
53
- h.align = "center"
54
- h.content = "Preference"
55
- }
56
-
57
- # Ugly, but just to show you that it's possible
58
- tbody.push(
59
- Table::Row.new{ |r|
60
- r.align = "center"
61
- r.content =
62
- Table::Row::Header.new{ |h|
63
- h.rowspan = 2
64
- h.content = "Gender"
65
- },
66
- Table::Row::Header.new{ |h| h.content = "Male" },
67
- "73%",
68
- "27%"
69
- }
70
- )
71
-
72
- brow = Table::Row.new{ |r| r.align = "center" }
73
- bheader = Table::Row::Header.new('Female')
74
- brow.push(bheader,"16%","84%")
75
-
76
- tbody.push(brow)
77
-
78
- frow = Table::Row.new{ |r|
79
- r.content = Table::Row::Data.new{ |d|
80
- d.colspan = 4
81
- d.align = "center"
82
- d.content = "Note: eye pokes did not result in permanent injury"
83
- }
84
- }
85
-
86
- tfoot[0] = frow
87
-
88
- table.push thead, tbody, tfoot
89
-
90
- # caption is added last, but does the right thing
91
- table.push caption
92
-
93
- puts table.html
94
-
95
- =begin
96
- ### OUTPUT ###
97
- <table border=1 cellspacing=0 cellpadding=0 rules='groups'>
98
- <caption align='bottom'>Kumquat versus a poked eye, by gender</caption>
99
- <thead>
100
- <tr>
101
- <td colspan=2 rowspan=2>
102
- <th colspan=2 align='center'>Preference
103
- </tr>
104
- <tr>
105
- <th>Eating Kumquats
106
- <th>Poke In The Eye
107
- </tr>
108
- </thead>
109
- <tbody>
110
- <tr align='center'>
111
- <th rowspan=2>Gender
112
- <th>Male
113
- <td>73%
114
- <td>27%
115
- </tr>
116
- <tr align='center'>
117
- <th>Female
118
- <td>16%
119
- <td>84%
120
- </tr>
121
- </tbody>
122
- <tfoot>
123
- <tr>
124
- <td colspan=4 align='center'>Note: eye pokes did not result in permanent injury
125
- </tr>
126
- </tfoot>
127
- </table>
128
- =end
1
+ ##############################################################################
2
+ # advanced1.rb
3
+ #
4
+ # For this example we'll use every feature I can think of to come up with
5
+ # the example found in "HTML: The Definitive Guide", pp. 395-396 (O'Reilly
6
+ # & Associates, 3rd ed).
7
+ #
8
+ # You can run this example via the 'example:advanced' rake task.
9
+ ##############################################################################
10
+ require 'html/table'
11
+ include HTML
12
+
13
+ Table::Row::Data.end_tags = false
14
+ Table::Row::Header.end_tags = false
15
+
16
+ # Demonstrates the DSL style syntax
17
+ table = Table.new do
18
+ border 1
19
+ cellspacing 0
20
+ cellpadding 0
21
+ rules 'groups'
22
+ end
23
+
24
+ # Demonstrates the use of setters after object creation
25
+ caption = Table::Caption.new
26
+ caption.align = "bottom"
27
+ caption.content = "Kumquat versus a poked eye, by gender"
28
+
29
+ thead = Table::Head.create
30
+ tbody = Table::Body.new
31
+ tfoot = Table::Foot.create
32
+
33
+ # Add a row with a td and th, then configure after the fact.
34
+ thead.push Table::Row.new{ |r|
35
+ r.content = Table::Row::Data.new, Table::Row::Header.new
36
+ }
37
+
38
+ # And again, longhand
39
+ hrow = Table::Row.new
40
+ h1 = Table::Row::Header.new('Eating Kumquats')
41
+ h2 = Table::Row::Header.new('Poke In The Eye')
42
+ hrow.push h1, h2
43
+ thead.push hrow
44
+
45
+ # Configure a row after the fact
46
+ thead.configure(0,0){ |d|
47
+ d.colspan = 2
48
+ d.rowspan = 2
49
+ }
50
+
51
+ thead.configure(0,1){ |h|
52
+ h.colspan = 2
53
+ h.align = "center"
54
+ h.content = "Preference"
55
+ }
56
+
57
+ # Ugly, but just to show you that it's possible
58
+ tbody.push(
59
+ Table::Row.new{ |r|
60
+ r.align = "center"
61
+ r.content =
62
+ Table::Row::Header.new{ |h|
63
+ h.rowspan = 2
64
+ h.content = "Gender"
65
+ },
66
+ Table::Row::Header.new{ |h| h.content = "Male" },
67
+ "73%",
68
+ "27%"
69
+ }
70
+ )
71
+
72
+ brow = Table::Row.new{ |r| r.align = "center" }
73
+ bheader = Table::Row::Header.new('Female')
74
+ brow.push(bheader,"16%","84%")
75
+
76
+ tbody.push(brow)
77
+
78
+ frow = Table::Row.new{ |r|
79
+ r.content = Table::Row::Data.new{ |d|
80
+ d.colspan = 4
81
+ d.align = "center"
82
+ d.content = "Note: eye pokes did not result in permanent injury"
83
+ }
84
+ }
85
+
86
+ tfoot[0] = frow
87
+
88
+ table.push thead, tbody, tfoot
89
+
90
+ # caption is added last, but does the right thing
91
+ table.push caption
92
+
93
+ puts table.html
94
+
95
+ =begin
96
+ ### OUTPUT ###
97
+ <table border=1 cellspacing=0 cellpadding=0 rules='groups'>
98
+ <caption align='bottom'>Kumquat versus a poked eye, by gender</caption>
99
+ <thead>
100
+ <tr>
101
+ <td colspan=2 rowspan=2>
102
+ <th colspan=2 align='center'>Preference
103
+ </tr>
104
+ <tr>
105
+ <th>Eating Kumquats
106
+ <th>Poke In The Eye
107
+ </tr>
108
+ </thead>
109
+ <tbody>
110
+ <tr align='center'>
111
+ <th rowspan=2>Gender
112
+ <th>Male
113
+ <td>73%
114
+ <td>27%
115
+ </tr>
116
+ <tr align='center'>
117
+ <th>Female
118
+ <td>16%
119
+ <td>84%
120
+ </tr>
121
+ </tbody>
122
+ <tfoot>
123
+ <tr>
124
+ <td colspan=4 align='center'>Note: eye pokes did not result in permanent injury
125
+ </tr>
126
+ </tfoot>
127
+ </table>
128
+ =end