html-table 1.4.2 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/CHANGES +155 -149
- data/MANIFEST +59 -59
- data/README +132 -132
- data/certs/djberg96_pub.pem +15 -15
- data/doc/attributes.rdoc +143 -143
- data/doc/table.rdoc +158 -158
- data/doc/table_body.rdoc +9 -9
- data/doc/table_caption.rdoc +9 -9
- data/doc/table_colgroup.rdoc +8 -8
- data/doc/table_colgroup_col.rdoc +9 -9
- data/doc/table_content.rdoc +15 -15
- data/doc/table_foot.rdoc +8 -8
- data/doc/table_head.rdoc +11 -11
- data/doc/table_row.rdoc +105 -105
- data/doc/table_row_data.rdoc +92 -92
- data/doc/table_row_header.rdoc +7 -7
- data/examples/advanced.rb +128 -128
- data/examples/intermediate1.rb +72 -72
- data/examples/intermediate2.rb +62 -62
- data/examples/intermediate3.rb +46 -46
- data/examples/simple1.rb +39 -39
- data/examples/simple2.rb +47 -47
- data/examples/simple3.rb +41 -41
- data/html-table.gemspec +28 -28
- data/lib/html-table.rb +1 -1
- data/lib/html/attribute_handler.rb +403 -403
- data/lib/html/body.rb +37 -37
- data/lib/html/caption.rb +49 -49
- data/lib/html/col.rb +41 -41
- data/lib/html/colgroup.rb +113 -113
- data/lib/html/content.rb +18 -18
- data/lib/html/data.rb +69 -69
- data/lib/html/foot.rb +49 -49
- data/lib/html/head.rb +49 -49
- data/lib/html/header.rb +65 -65
- data/lib/html/html_handler.rb +120 -120
- data/lib/html/row.rb +188 -188
- data/lib/html/table.rb +323 -323
- data/lib/html/tablesection.rb +48 -48
- data/lib/html/tag_handler.rb +121 -121
- data/test/test_attribute_handler.rb +361 -361
- data/test/test_body.rb +87 -87
- data/test/test_caption.rb +80 -80
- data/test/test_col.rb +40 -40
- data/test/test_colgroup.rb +89 -89
- data/test/test_data.rb +77 -77
- data/test/test_foot.rb +111 -111
- data/test/test_head.rb +104 -104
- data/test/test_header.rb +77 -77
- data/test/test_html_handler.rb +37 -37
- data/test/test_row.rb +141 -141
- data/test/test_table.rb +158 -158
- data/test/test_tablesection.rb +42 -42
- data/test/test_tag_handler.rb +90 -90
- metadata +22 -22
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ccb27641d8cb2dad479a7d751a9c16357a4d94da
|
4
|
+
data.tar.gz: 765a7761cf6febab3b9405707bded64dedecbfc9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b8306683f34b913bb32df5c8f30eb44fe9e7b9a7b7e25d0f3700e529a3d52726719371388c06ea94ca081adbb54b852572bd8a73dca5f92f1b3a56de61892c10
|
7
|
+
data.tar.gz: 4dd31ee6569962dcf41aed60b07886e109a3868353461de3481b56f6ff3b7c9940a809adbdf22200bbf9fb95f52b4eef3bfca30050654be52371ed3ea3a96fd7
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/CHANGES
CHANGED
@@ -1,149 +1,155 @@
|
|
1
|
-
== 1.
|
2
|
-
*
|
3
|
-
|
4
|
-
*
|
5
|
-
*
|
6
|
-
|
7
|
-
== 1.4.
|
8
|
-
*
|
9
|
-
*
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
*
|
15
|
-
*
|
16
|
-
|
17
|
-
== 1.
|
18
|
-
*
|
19
|
-
|
20
|
-
|
21
|
-
*
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
*
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
*
|
40
|
-
|
41
|
-
of
|
42
|
-
|
43
|
-
* Added
|
44
|
-
|
45
|
-
|
46
|
-
* Added
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
*
|
54
|
-
|
55
|
-
|
56
|
-
*
|
57
|
-
|
58
|
-
|
59
|
-
*
|
60
|
-
|
61
|
-
|
62
|
-
* Added
|
63
|
-
|
64
|
-
*
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
*
|
71
|
-
|
72
|
-
|
73
|
-
*
|
74
|
-
|
75
|
-
|
76
|
-
*
|
77
|
-
|
78
|
-
|
79
|
-
*
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
*
|
86
|
-
|
87
|
-
*
|
88
|
-
|
89
|
-
|
90
|
-
*
|
91
|
-
*
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
*
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
*
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
*
|
108
|
-
|
109
|
-
|
110
|
-
* Modified the
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
*
|
117
|
-
|
118
|
-
*
|
119
|
-
|
120
|
-
*
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
*
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
*
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
*
|
137
|
-
|
138
|
-
*
|
139
|
-
*
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
*
|
145
|
-
* Added
|
146
|
-
|
147
|
-
|
148
|
-
== 0.0.
|
149
|
-
*
|
1
|
+
== 1.5.0 - 29-Mar-2017
|
2
|
+
* Updated the structured_warnings dependency to 0.3.0, and modified the
|
3
|
+
warning classes to subclass the new warning types.
|
4
|
+
* The VERSION constant is now frozen.
|
5
|
+
* Updated cert file.
|
6
|
+
|
7
|
+
== 1.4.2 - 8-Apr-2016
|
8
|
+
* This gem is now signed.
|
9
|
+
* Added the html-table.rb file for convenience.
|
10
|
+
* Updated the gem related rake tasks.
|
11
|
+
* Corrections to the README.
|
12
|
+
|
13
|
+
== 1.4.1 - 8-Nov-2014
|
14
|
+
* Minor updates to Rakefile and gemspec.
|
15
|
+
* Use require_relative where appropriate.
|
16
|
+
|
17
|
+
== 1.4.0 - 28-Aug-2013
|
18
|
+
* The HTML::Table constructor now accepts an optional hash of options.
|
19
|
+
If present, they are treated as table attributes.
|
20
|
+
* Some Rakefile and gemspec updates.
|
21
|
+
* Minor test file cleanup.
|
22
|
+
|
23
|
+
== 1.3.6 - 19-Sep-2011
|
24
|
+
* Fixes header.rb, data.rb and caption.rb for Ruby 1.9.
|
25
|
+
|
26
|
+
== 1.3.5 - 1-Sep-2011
|
27
|
+
* Refactored the Rakefile. Removed an old install task, reworked the
|
28
|
+
gem tasks and added a default task.
|
29
|
+
* Minor updates to the gemspec.
|
30
|
+
|
31
|
+
== 1.3.4 - 29-Sep-2009
|
32
|
+
* The test-unit library is now a development dependency instead of a
|
33
|
+
standard dependency.
|
34
|
+
* Removed all load path mangling.
|
35
|
+
* License changed to Artistic 2.0.
|
36
|
+
* Updated the gemspec description, added a license.
|
37
|
+
|
38
|
+
== 1.3.3 - 5-Feb-2009
|
39
|
+
* Added structured_warnings as a requirement. The non standard tags now
|
40
|
+
raise a NonStandardExtensionWarning. These are now _always_ raised whenever
|
41
|
+
used (instead of only in $VERBOSE mode), but the warning can be disabled as
|
42
|
+
you see fit. See the documentation on structured_warnings for more details.
|
43
|
+
* Added test-unit 2.x as a requirement.
|
44
|
+
* Refactored and renamed the tests.
|
45
|
+
* The gem now includes the example files.
|
46
|
+
* Added additional rake tasks for the sake of testing individual portions
|
47
|
+
of the html-table library instead of the all or nothing approach I had
|
48
|
+
before.
|
49
|
+
* Added rake tasks for running the example programs.
|
50
|
+
|
51
|
+
== 1.3.2 - 15-Jul-2008
|
52
|
+
* Added to_s and to_str aliases for the html method for all classes.
|
53
|
+
* Some documentation updates.
|
54
|
+
* Removed unnecessary presetup code from the test files that was no longer
|
55
|
+
necessary thanks to Rake.
|
56
|
+
* Removed the ts_all.rb file. It was no longer necessary thanks to Rake.
|
57
|
+
|
58
|
+
== 1.3.1 - 8-Feb-2008
|
59
|
+
* Fully qualified the HTML::Table class in the HTMLHandler module. This fix
|
60
|
+
eliminates the need to 'include HTML' to actually get some code to work
|
61
|
+
properly. Thanks go to Jos Backus for the spot and patch.
|
62
|
+
* Added a Rakefile with tasks for testing and installation.
|
63
|
+
* Removed the install.rb file. That's now handled by the Rakefile.
|
64
|
+
* Cleaned up some warnings in the AttributeHandler and TagHandler modules.
|
65
|
+
* Updated the MANIFEST and README files.
|
66
|
+
|
67
|
+
== 1.3.0 - 2-Aug-2006
|
68
|
+
* Added support for DSI style syntax, i.e. the ability to omit the explicit
|
69
|
+
receiver in block form.
|
70
|
+
* The content method now creates a Table::Content object behind the scenes
|
71
|
+
(a subclass of String) and allows physical tags to generated on the fly
|
72
|
+
via a block.
|
73
|
+
* Added support for physical tags for content, e.g. <b>, <i> etc. See the
|
74
|
+
documentation for more details.
|
75
|
+
* Added the 'style' and 'class_' attribute handlers for you CSS lovers.
|
76
|
+
* Added the 'data' alias for the 'content' method.
|
77
|
+
* Added the 'header' method to the Table class so that you can explicitly
|
78
|
+
generate <th> content instead of <td> content if you prefer.
|
79
|
+
* The .html method now accepts an optional boolean that can be used to
|
80
|
+
disable formatting. If set to true, the output will not include newlines
|
81
|
+
or spaces between the tags (i.e. it will give you a single long string).
|
82
|
+
* Some comment additions and tweaks.
|
83
|
+
|
84
|
+
== 1.2.2 - 17-Jun-2005
|
85
|
+
* Each class now defines its own content= method (rather than a generic module
|
86
|
+
method that handles it). Internal change only.
|
87
|
+
* The Head, Foot and Body classes now use the inherited version of content=
|
88
|
+
method, instead of defining them individually (which they should have
|
89
|
+
been doing all along).
|
90
|
+
* Made the README and CHANGES file rdoc friendly.
|
91
|
+
* Removed the .rd and html files under the 'doc' directory. All of those
|
92
|
+
files have been made rdoc friendly and been given .rdoc extensions.
|
93
|
+
* Some $LOAD_PATH setup changes for the test suite.
|
94
|
+
|
95
|
+
== 1.2.1 - 26-Oct-2004
|
96
|
+
* Documentation additions to make the code rdoc friendly.
|
97
|
+
* Minor typo/bug fix in the background method of the AttributeHandler module.
|
98
|
+
* Added an assertion to the test suite, mostly to make tc_all.rb work
|
99
|
+
correctly (one test was causing other tests to fail due to a global
|
100
|
+
setting that was made in a previous test).
|
101
|
+
|
102
|
+
== 1.2.0 - 8-Aug-2004
|
103
|
+
* Added the global_end_tags= class method for the Table class. This allows
|
104
|
+
you to configure you want end tags or not for all classes, rather than
|
105
|
+
having to configure each class individually. Note that classes which
|
106
|
+
require end tags are unaffected.
|
107
|
+
* Added handling for '<<' for those classes where it was appropriate (i.e.
|
108
|
+
any class that also used 'push').
|
109
|
+
* Minor update in the Table::Row#unshift method.
|
110
|
+
* Modified the border= method in the AttributeHandler module to accept true
|
111
|
+
or false as arguments. I had forgotten that you could specify 'border' as
|
112
|
+
an attribute without a value.
|
113
|
+
* Yet more tests.
|
114
|
+
|
115
|
+
== 1.1.0 - 6-Aug-2004
|
116
|
+
* Modified the constructors for all of the classes that can contain content
|
117
|
+
to accept an optional argument. If present it is assumed to be content.
|
118
|
+
* Fixed a bug/feature in Table::Row where it didn't allow you to add or
|
119
|
+
delete Fixnums. Henceforth, Fixnum's are stringified.
|
120
|
+
* The Table::ColGroup class no longer has the content or content= methods.
|
121
|
+
This was illegal in 1.0.0 as well but it now raises a NoMethodError instead.
|
122
|
+
* Added many more tests, including tests for attribute handlers and html
|
123
|
+
handlers.
|
124
|
+
* Made the modify_html method in the HtmlHandler module private. This should
|
125
|
+
have no affect on your code.
|
126
|
+
* Added another simple sample program under doc/examples.
|
127
|
+
* Documentation updates.
|
128
|
+
|
129
|
+
== 1.0.0 - 23-May-2004
|
130
|
+
* No API changes - same as 0.0.4 but now officially declared "stable". The
|
131
|
+
only change that was made is that each class is now in its own file.
|
132
|
+
|
133
|
+
== 0.0.4 - 16-May-2004 (Beta4)
|
134
|
+
* Prerequisites now include Ruby 1.8.0 or later and the StrongTyping package from
|
135
|
+
Ryan Pavlik.
|
136
|
+
* More stringent type checking added using the StrongTyping package.
|
137
|
+
* Bug in Table::Foot class corrected.
|
138
|
+
* Minor name change for included modules (AttributeHandler, HtmlHandler).
|
139
|
+
* Many more tests added
|
140
|
+
|
141
|
+
== 0.0.3 - 9-Jul-2003 (Beta3)
|
142
|
+
* Added html_case() class method for those who want their HTML tags in upper
|
143
|
+
case
|
144
|
+
* Fixed up the docs, added the html docs to the core distro
|
145
|
+
* Added some config info to table.rb so that this package works as expected
|
146
|
+
after installation
|
147
|
+
|
148
|
+
== 0.0.2 - 5-Jul-2003 (Beta2)
|
149
|
+
* API completely rewritten
|
150
|
+
* End tags and indentation level now configurable
|
151
|
+
* Added all remaining tag types (caption, colgroup, col, tbody, tfoot and
|
152
|
+
thead)
|
153
|
+
|
154
|
+
== 0.0.1 11-Jun-2003 (Beta1)
|
155
|
+
* Initial Release
|
data/MANIFEST
CHANGED
@@ -1,59 +1,59 @@
|
|
1
|
-
MANIFEST
|
2
|
-
CHANGES
|
3
|
-
README
|
4
|
-
Rakefile
|
5
|
-
html-table.gemspec
|
6
|
-
|
7
|
-
certs/djberg96_pub.pem
|
8
|
-
|
9
|
-
doc/attributes.rdoc
|
10
|
-
doc/table_body.rdoc
|
11
|
-
doc/table_caption.rdoc
|
12
|
-
doc/table_content.rdoc
|
13
|
-
doc/table_colgroup.rdoc
|
14
|
-
doc/table_colgroup_col.rdoc
|
15
|
-
doc/table_foot.rdoc
|
16
|
-
doc/table_head.rdoc
|
17
|
-
doc/table_row_data.rdoc
|
18
|
-
doc/table_row_header.rdoc
|
19
|
-
doc/table_row.rdoc
|
20
|
-
doc/table.rdoc
|
21
|
-
|
22
|
-
doc/examples/advanced.rb
|
23
|
-
doc/examples/intermediate1.rb
|
24
|
-
doc/examples/intermediate2.rb
|
25
|
-
doc/examples/intermediate3.rb
|
26
|
-
doc/examples/simple1.rb
|
27
|
-
doc/examples/simple2.rb
|
28
|
-
doc/examples/simple3.rb
|
29
|
-
|
30
|
-
lib/html-table.rb
|
31
|
-
lib/html/attribute_handler.rb
|
32
|
-
lib/html/body.rb
|
33
|
-
lib/html/caption.rb
|
34
|
-
lib/html/col.rb
|
35
|
-
lib/html/colgroup.rb
|
36
|
-
lib/html/content.rb
|
37
|
-
lib/html/data.rb
|
38
|
-
lib/html/foot.rb
|
39
|
-
lib/html/head.rb
|
40
|
-
lib/html/header.rb
|
41
|
-
lib/html/html_handler.rb
|
42
|
-
lib/html/row.rb
|
43
|
-
lib/html/table.rb
|
44
|
-
lib/html/tablesection.rb
|
45
|
-
lib/html/tag_handler.rb
|
46
|
-
|
47
|
-
test/test_attribute_handler.rb
|
48
|
-
test/test_body.rb
|
49
|
-
test/test_caption.rb
|
50
|
-
test/test_col.rb
|
51
|
-
test/test_colgroup.rb
|
52
|
-
test/test_data.rb
|
53
|
-
test/test_head.rb
|
54
|
-
test/test_header.rb
|
55
|
-
test/test_html_handler.rb
|
56
|
-
test/test_row.rb
|
57
|
-
test/test_table.rb
|
58
|
-
test/test_tablesection.rb
|
59
|
-
test/test_tag_handler.rb
|
1
|
+
MANIFEST
|
2
|
+
CHANGES
|
3
|
+
README
|
4
|
+
Rakefile
|
5
|
+
html-table.gemspec
|
6
|
+
|
7
|
+
certs/djberg96_pub.pem
|
8
|
+
|
9
|
+
doc/attributes.rdoc
|
10
|
+
doc/table_body.rdoc
|
11
|
+
doc/table_caption.rdoc
|
12
|
+
doc/table_content.rdoc
|
13
|
+
doc/table_colgroup.rdoc
|
14
|
+
doc/table_colgroup_col.rdoc
|
15
|
+
doc/table_foot.rdoc
|
16
|
+
doc/table_head.rdoc
|
17
|
+
doc/table_row_data.rdoc
|
18
|
+
doc/table_row_header.rdoc
|
19
|
+
doc/table_row.rdoc
|
20
|
+
doc/table.rdoc
|
21
|
+
|
22
|
+
doc/examples/advanced.rb
|
23
|
+
doc/examples/intermediate1.rb
|
24
|
+
doc/examples/intermediate2.rb
|
25
|
+
doc/examples/intermediate3.rb
|
26
|
+
doc/examples/simple1.rb
|
27
|
+
doc/examples/simple2.rb
|
28
|
+
doc/examples/simple3.rb
|
29
|
+
|
30
|
+
lib/html-table.rb
|
31
|
+
lib/html/attribute_handler.rb
|
32
|
+
lib/html/body.rb
|
33
|
+
lib/html/caption.rb
|
34
|
+
lib/html/col.rb
|
35
|
+
lib/html/colgroup.rb
|
36
|
+
lib/html/content.rb
|
37
|
+
lib/html/data.rb
|
38
|
+
lib/html/foot.rb
|
39
|
+
lib/html/head.rb
|
40
|
+
lib/html/header.rb
|
41
|
+
lib/html/html_handler.rb
|
42
|
+
lib/html/row.rb
|
43
|
+
lib/html/table.rb
|
44
|
+
lib/html/tablesection.rb
|
45
|
+
lib/html/tag_handler.rb
|
46
|
+
|
47
|
+
test/test_attribute_handler.rb
|
48
|
+
test/test_body.rb
|
49
|
+
test/test_caption.rb
|
50
|
+
test/test_col.rb
|
51
|
+
test/test_colgroup.rb
|
52
|
+
test/test_data.rb
|
53
|
+
test/test_head.rb
|
54
|
+
test/test_header.rb
|
55
|
+
test/test_html_handler.rb
|
56
|
+
test/test_row.rb
|
57
|
+
test/test_table.rb
|
58
|
+
test/test_tablesection.rb
|
59
|
+
test/test_tag_handler.rb
|
data/README
CHANGED
@@ -1,132 +1,132 @@
|
|
1
|
-
== Description
|
2
|
-
An interface for generating HTML Tables with Ruby.
|
3
|
-
|
4
|
-
== Prerequisites
|
5
|
-
* strongtyping 2.0.6 or later
|
6
|
-
* structured_warnings 0.
|
7
|
-
|
8
|
-
== Installation
|
9
|
-
gem install html-table
|
10
|
-
|
11
|
-
== Synopsis
|
12
|
-
require 'html/table'
|
13
|
-
include HTML
|
14
|
-
|
15
|
-
# Explicit syntax
|
16
|
-
table = HTML::Table.new{ |t|
|
17
|
-
t.border = 1
|
18
|
-
t.bgcolor = "red"
|
19
|
-
}
|
20
|
-
|
21
|
-
# Implicit syntax
|
22
|
-
table = HTML::Table.new do
|
23
|
-
border 1
|
24
|
-
bgcolor 'red'
|
25
|
-
end
|
26
|
-
|
27
|
-
table.push Table::Row.new{ |r|
|
28
|
-
r.align = "left"
|
29
|
-
r.bgcolor = "green"
|
30
|
-
r.content = ["foo","bar","baz"]
|
31
|
-
}
|
32
|
-
|
33
|
-
row = Table::Row.new{ |r|
|
34
|
-
r.align = "right"
|
35
|
-
r.bgcolor = "blue"
|
36
|
-
r.content = "hello world"
|
37
|
-
}
|
38
|
-
|
39
|
-
table[1] = row
|
40
|
-
|
41
|
-
puts table.html
|
42
|
-
|
43
|
-
# Output
|
44
|
-
<table border=1 bgcolor='red'>
|
45
|
-
<tr align='left' bgcolor='green'> # row 0
|
46
|
-
<td>foo</td> # column 0
|
47
|
-
<td>bar</td> # column 1
|
48
|
-
<td>baz</td> # column 2
|
49
|
-
</tr>
|
50
|
-
<tr align='right' bgcolor='blue'> # row 1
|
51
|
-
<td>hello world</td> # column 0
|
52
|
-
</tr>
|
53
|
-
</table>
|
54
|
-
|
55
|
-
See the 'examples' directory under 'doc' for more examples.
|
56
|
-
|
57
|
-
== Mixins
|
58
|
-
Table is a subclass of Array, and therefore mixes in Enumerable. The
|
59
|
-
push, unshift and []= methods have been modified. See below for details.
|
60
|
-
|
61
|
-
Table also mixes in AttributeHandler which provides methods for adding
|
62
|
-
attributes to each of the tag types. See attributes.rdoc for more details.
|
63
|
-
|
64
|
-
== Notes
|
65
|
-
A Table consists of Table::Row, Table::Caption, Table::ColGroup,
|
66
|
-
Table::Body, Table::Foot, Table::Head and Table::Row objects.
|
67
|
-
|
68
|
-
Table::Row objects in turn consist of Table::Row::Data and
|
69
|
-
Table::Row::Header objects.
|
70
|
-
|
71
|
-
Table::ColGroup objects consist of Table::ColGroup::Col
|
72
|
-
objects.
|
73
|
-
|
74
|
-
Table::Head, Table::Body and Table::Foot objects consist
|
75
|
-
of Table::Row objects.
|
76
|
-
|
77
|
-
String attributes are quoted. Numeric attributes are not.
|
78
|
-
|
79
|
-
Some attributes have type checking. Some check for valid arguments. In
|
80
|
-
the latter case, it is case-insensitive. See the documentation on
|
81
|
-
specific methods for more details.
|
82
|
-
|
83
|
-
Using a non-standard extension (e.g. "background") will emit a
|
84
|
-
NonStandardExtensionWarning. See the documentation for structured_warnings
|
85
|
-
for more information on how to control these.
|
86
|
-
|
87
|
-
== Known Bugs
|
88
|
-
None that I'm aware of. Please report bugs on the project page at:
|
89
|
-
|
90
|
-
http://github.com/djberg96/html-table
|
91
|
-
|
92
|
-
== Future Plans
|
93
|
-
Documentation improvements (include inline links to other files).
|
94
|
-
|
95
|
-
== Acknowledgements
|
96
|
-
Anthony Peacock, for giving me ideas with his HTML::Table Perl module.
|
97
|
-
Holden Glova and Culley Harrelson for API suggestions and comments.
|
98
|
-
|
99
|
-
== License
|
100
|
-
Artistic 2.0
|
101
|
-
|
102
|
-
== Copyright
|
103
|
-
(C) 2003-
|
104
|
-
All Rights Reserved
|
105
|
-
|
106
|
-
== Warranty
|
107
|
-
This package is provided "as is" and without any express or
|
108
|
-
implied warranties, including, without limitation, the implied
|
109
|
-
warranties of merchantability and fitness for a particular purpose.
|
110
|
-
|
111
|
-
== Author
|
112
|
-
Daniel J. Berger
|
113
|
-
|
114
|
-
== Developer's Notes
|
115
|
-
Some people might be a little annoyed with the fact that I required Ryan
|
116
|
-
Pavlik's strongtyping library. I'm not a big fan of strong typing myself.
|
117
|
-
So, why did I do this?
|
118
|
-
|
119
|
-
Normally when creating code, you setup your own rules as far as what is
|
120
|
-
allowed as an argument. You publish the API, set up a good set of tests,
|
121
|
-
and don't bother worrying about types because you figure people can read
|
122
|
-
the API and won't go out of their way to break it. You certainly don't
|
123
|
-
worry about it yourself because you're used to dynamic languages and find
|
124
|
-
that you don't need the strong typing training wheels after all, right?
|
125
|
-
|
126
|
-
However, HTML tables have a predefined set of rules as far as what content
|
127
|
-
is valid, and where it's placed in order to be HTML 4.0 compliant. For
|
128
|
-
example, if a caption is included, it should be at the 'top' of your table
|
129
|
-
syntax, you can only have one foot section, and so on. I therefore chose to
|
130
|
-
enforce these conventions and rules in Ruby via Ryan's module. I could have
|
131
|
-
lived without it, and instead chose to do a plethora of "kind_of?" checks.
|
132
|
-
However, Ryan's package is both faster and required less typing on my part.
|
1
|
+
== Description
|
2
|
+
An interface for generating HTML Tables with Ruby.
|
3
|
+
|
4
|
+
== Prerequisites
|
5
|
+
* strongtyping 2.0.6 or later
|
6
|
+
* structured_warnings 0.3.0 or later
|
7
|
+
|
8
|
+
== Installation
|
9
|
+
gem install html-table
|
10
|
+
|
11
|
+
== Synopsis
|
12
|
+
require 'html/table'
|
13
|
+
include HTML
|
14
|
+
|
15
|
+
# Explicit syntax
|
16
|
+
table = HTML::Table.new{ |t|
|
17
|
+
t.border = 1
|
18
|
+
t.bgcolor = "red"
|
19
|
+
}
|
20
|
+
|
21
|
+
# Implicit syntax
|
22
|
+
table = HTML::Table.new do
|
23
|
+
border 1
|
24
|
+
bgcolor 'red'
|
25
|
+
end
|
26
|
+
|
27
|
+
table.push Table::Row.new{ |r|
|
28
|
+
r.align = "left"
|
29
|
+
r.bgcolor = "green"
|
30
|
+
r.content = ["foo","bar","baz"]
|
31
|
+
}
|
32
|
+
|
33
|
+
row = Table::Row.new{ |r|
|
34
|
+
r.align = "right"
|
35
|
+
r.bgcolor = "blue"
|
36
|
+
r.content = "hello world"
|
37
|
+
}
|
38
|
+
|
39
|
+
table[1] = row
|
40
|
+
|
41
|
+
puts table.html
|
42
|
+
|
43
|
+
# Output
|
44
|
+
<table border=1 bgcolor='red'>
|
45
|
+
<tr align='left' bgcolor='green'> # row 0
|
46
|
+
<td>foo</td> # column 0
|
47
|
+
<td>bar</td> # column 1
|
48
|
+
<td>baz</td> # column 2
|
49
|
+
</tr>
|
50
|
+
<tr align='right' bgcolor='blue'> # row 1
|
51
|
+
<td>hello world</td> # column 0
|
52
|
+
</tr>
|
53
|
+
</table>
|
54
|
+
|
55
|
+
See the 'examples' directory under 'doc' for more examples.
|
56
|
+
|
57
|
+
== Mixins
|
58
|
+
Table is a subclass of Array, and therefore mixes in Enumerable. The
|
59
|
+
push, unshift and []= methods have been modified. See below for details.
|
60
|
+
|
61
|
+
Table also mixes in AttributeHandler which provides methods for adding
|
62
|
+
attributes to each of the tag types. See attributes.rdoc for more details.
|
63
|
+
|
64
|
+
== Notes
|
65
|
+
A Table consists of Table::Row, Table::Caption, Table::ColGroup,
|
66
|
+
Table::Body, Table::Foot, Table::Head and Table::Row objects.
|
67
|
+
|
68
|
+
Table::Row objects in turn consist of Table::Row::Data and
|
69
|
+
Table::Row::Header objects.
|
70
|
+
|
71
|
+
Table::ColGroup objects consist of Table::ColGroup::Col
|
72
|
+
objects.
|
73
|
+
|
74
|
+
Table::Head, Table::Body and Table::Foot objects consist
|
75
|
+
of Table::Row objects.
|
76
|
+
|
77
|
+
String attributes are quoted. Numeric attributes are not.
|
78
|
+
|
79
|
+
Some attributes have type checking. Some check for valid arguments. In
|
80
|
+
the latter case, it is case-insensitive. See the documentation on
|
81
|
+
specific methods for more details.
|
82
|
+
|
83
|
+
Using a non-standard extension (e.g. "background") will emit a
|
84
|
+
NonStandardExtensionWarning. See the documentation for structured_warnings
|
85
|
+
for more information on how to control these.
|
86
|
+
|
87
|
+
== Known Bugs
|
88
|
+
None that I'm aware of. Please report bugs on the project page at:
|
89
|
+
|
90
|
+
http://github.com/djberg96/html-table
|
91
|
+
|
92
|
+
== Future Plans
|
93
|
+
Documentation improvements (include inline links to other files).
|
94
|
+
|
95
|
+
== Acknowledgements
|
96
|
+
Anthony Peacock, for giving me ideas with his HTML::Table Perl module.
|
97
|
+
Holden Glova and Culley Harrelson for API suggestions and comments.
|
98
|
+
|
99
|
+
== License
|
100
|
+
Artistic 2.0
|
101
|
+
|
102
|
+
== Copyright
|
103
|
+
(C) 2003-2017 Daniel J. Berger
|
104
|
+
All Rights Reserved
|
105
|
+
|
106
|
+
== Warranty
|
107
|
+
This package is provided "as is" and without any express or
|
108
|
+
implied warranties, including, without limitation, the implied
|
109
|
+
warranties of merchantability and fitness for a particular purpose.
|
110
|
+
|
111
|
+
== Author
|
112
|
+
Daniel J. Berger
|
113
|
+
|
114
|
+
== Developer's Notes
|
115
|
+
Some people might be a little annoyed with the fact that I required Ryan
|
116
|
+
Pavlik's strongtyping library. I'm not a big fan of strong typing myself.
|
117
|
+
So, why did I do this?
|
118
|
+
|
119
|
+
Normally when creating code, you setup your own rules as far as what is
|
120
|
+
allowed as an argument. You publish the API, set up a good set of tests,
|
121
|
+
and don't bother worrying about types because you figure people can read
|
122
|
+
the API and won't go out of their way to break it. You certainly don't
|
123
|
+
worry about it yourself because you're used to dynamic languages and find
|
124
|
+
that you don't need the strong typing training wheels after all, right?
|
125
|
+
|
126
|
+
However, HTML tables have a predefined set of rules as far as what content
|
127
|
+
is valid, and where it's placed in order to be HTML 4.0 compliant. For
|
128
|
+
example, if a caption is included, it should be at the 'top' of your table
|
129
|
+
syntax, you can only have one foot section, and so on. I therefore chose to
|
130
|
+
enforce these conventions and rules in Ruby via Ryan's module. I could have
|
131
|
+
lived without it, and instead chose to do a plethora of "kind_of?" checks.
|
132
|
+
However, Ryan's package is both faster and required less typing on my part.
|