html-table 1.4.2 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/CHANGES +155 -149
  5. data/MANIFEST +59 -59
  6. data/README +132 -132
  7. data/certs/djberg96_pub.pem +15 -15
  8. data/doc/attributes.rdoc +143 -143
  9. data/doc/table.rdoc +158 -158
  10. data/doc/table_body.rdoc +9 -9
  11. data/doc/table_caption.rdoc +9 -9
  12. data/doc/table_colgroup.rdoc +8 -8
  13. data/doc/table_colgroup_col.rdoc +9 -9
  14. data/doc/table_content.rdoc +15 -15
  15. data/doc/table_foot.rdoc +8 -8
  16. data/doc/table_head.rdoc +11 -11
  17. data/doc/table_row.rdoc +105 -105
  18. data/doc/table_row_data.rdoc +92 -92
  19. data/doc/table_row_header.rdoc +7 -7
  20. data/examples/advanced.rb +128 -128
  21. data/examples/intermediate1.rb +72 -72
  22. data/examples/intermediate2.rb +62 -62
  23. data/examples/intermediate3.rb +46 -46
  24. data/examples/simple1.rb +39 -39
  25. data/examples/simple2.rb +47 -47
  26. data/examples/simple3.rb +41 -41
  27. data/html-table.gemspec +28 -28
  28. data/lib/html-table.rb +1 -1
  29. data/lib/html/attribute_handler.rb +403 -403
  30. data/lib/html/body.rb +37 -37
  31. data/lib/html/caption.rb +49 -49
  32. data/lib/html/col.rb +41 -41
  33. data/lib/html/colgroup.rb +113 -113
  34. data/lib/html/content.rb +18 -18
  35. data/lib/html/data.rb +69 -69
  36. data/lib/html/foot.rb +49 -49
  37. data/lib/html/head.rb +49 -49
  38. data/lib/html/header.rb +65 -65
  39. data/lib/html/html_handler.rb +120 -120
  40. data/lib/html/row.rb +188 -188
  41. data/lib/html/table.rb +323 -323
  42. data/lib/html/tablesection.rb +48 -48
  43. data/lib/html/tag_handler.rb +121 -121
  44. data/test/test_attribute_handler.rb +361 -361
  45. data/test/test_body.rb +87 -87
  46. data/test/test_caption.rb +80 -80
  47. data/test/test_col.rb +40 -40
  48. data/test/test_colgroup.rb +89 -89
  49. data/test/test_data.rb +77 -77
  50. data/test/test_foot.rb +111 -111
  51. data/test/test_head.rb +104 -104
  52. data/test/test_header.rb +77 -77
  53. data/test/test_html_handler.rb +37 -37
  54. data/test/test_row.rb +141 -141
  55. data/test/test_table.rb +158 -158
  56. data/test/test_tablesection.rb +42 -42
  57. data/test/test_tag_handler.rb +90 -90
  58. metadata +22 -22
  59. metadata.gz.sig +0 -0
@@ -1,18 +1,18 @@
1
- ########################################################################
2
- # content.rb
3
- #
4
- # This class handles content for Table::Row::Data, Table::Row::Header,
5
- # and Table::Row::Caption objects.
6
- ########################################################################
7
- require File.join(File.dirname(__FILE__), 'tag_handler')
8
-
9
- module HTML
10
- class Table::Content < String
11
- include TagHandler
12
-
13
- def initialize(string, &block)
14
- super(string)
15
- instance_eval(&block) if block_given?
16
- end
17
- end
18
- end
1
+ ########################################################################
2
+ # content.rb
3
+ #
4
+ # This class handles content for Table::Row::Data, Table::Row::Header,
5
+ # and Table::Row::Caption objects.
6
+ ########################################################################
7
+ require File.join(File.dirname(__FILE__), 'tag_handler')
8
+
9
+ module HTML
10
+ class Table::Content < String
11
+ include TagHandler
12
+
13
+ def initialize(string, &block)
14
+ super(string)
15
+ instance_eval(&block) if block_given?
16
+ end
17
+ end
18
+ end
@@ -1,69 +1,69 @@
1
- module HTML
2
-
3
- # This class represents HTML table data, <td>. Despite the name
4
- # it is not a subclass of Table::Row or Table.
5
- #
6
- class Table::Row::Data
7
- include AttributeHandler
8
- include HtmlHandler
9
-
10
- undef_method :configure
11
-
12
- @indent_level = 6
13
- @end_tags = true
14
-
15
- # Creates and returns a Data object. Optionally takes a block. If
16
- # an argument is provided, it is treated as content.
17
- #
18
- def initialize(arg = nil, &block)
19
- @html_begin = '<td'
20
- @html_body = ''
21
- @html_end = '</td>'
22
- instance_eval(&block) if block_given?
23
- self.content = arg if arg
24
- end
25
-
26
- # Adds content to the Table::Row::Data object.
27
- #
28
- def content=(arg)
29
- arg = arg.is_a?(Array) ? arg.join : arg.to_s
30
- @html_body = Table::Content.new(arg)
31
- end
32
-
33
- # Returns the indentation level for the tags of this class. The
34
- # default is 6.
35
- #
36
- def self.indent_level
37
- @indent_level
38
- end
39
-
40
- # Sets the indentation level for the tags of this class. The default
41
- # is 6.
42
- #
43
- def self.indent_level=(num)
44
- expect(num, Integer)
45
- raise ArgumentError,"indent_level must be >= 0" if num < 0
46
- @indent_level = num
47
- end
48
-
49
- # Returns a boolean indicating whether or not end tags, </td>, are
50
- # included for each Data object in the final HTML output. The
51
- # default is true.
52
- #
53
- def self.end_tags?
54
- @end_tags
55
- end
56
-
57
- # Sets whether or not end tags are included for each Data object in
58
- # the final HTML output. The default is true. Only true or false are
59
- # valid arguments.
60
- #
61
- def self.end_tags=(bool)
62
- expect(bool, [TrueClass, FalseClass])
63
- @end_tags = bool
64
- end
65
-
66
- alias to_s html
67
- alias to_str html
68
- end
69
- end
1
+ module HTML
2
+
3
+ # This class represents HTML table data, <td>. Despite the name
4
+ # it is not a subclass of Table::Row or Table.
5
+ #
6
+ class Table::Row::Data
7
+ include AttributeHandler
8
+ include HtmlHandler
9
+
10
+ undef_method :configure
11
+
12
+ @indent_level = 6
13
+ @end_tags = true
14
+
15
+ # Creates and returns a Data object. Optionally takes a block. If
16
+ # an argument is provided, it is treated as content.
17
+ #
18
+ def initialize(arg = nil, &block)
19
+ @html_begin = '<td'
20
+ @html_body = ''
21
+ @html_end = '</td>'
22
+ instance_eval(&block) if block_given?
23
+ self.content = arg if arg
24
+ end
25
+
26
+ # Adds content to the Table::Row::Data object.
27
+ #
28
+ def content=(arg)
29
+ arg = arg.is_a?(Array) ? arg.join : arg.to_s
30
+ @html_body = Table::Content.new(arg)
31
+ end
32
+
33
+ # Returns the indentation level for the tags of this class. The
34
+ # default is 6.
35
+ #
36
+ def self.indent_level
37
+ @indent_level
38
+ end
39
+
40
+ # Sets the indentation level for the tags of this class. The default
41
+ # is 6.
42
+ #
43
+ def self.indent_level=(num)
44
+ expect(num, Integer)
45
+ raise ArgumentError,"indent_level must be >= 0" if num < 0
46
+ @indent_level = num
47
+ end
48
+
49
+ # Returns a boolean indicating whether or not end tags, </td>, are
50
+ # included for each Data object in the final HTML output. The
51
+ # default is true.
52
+ #
53
+ def self.end_tags?
54
+ @end_tags
55
+ end
56
+
57
+ # Sets whether or not end tags are included for each Data object in
58
+ # the final HTML output. The default is true. Only true or false are
59
+ # valid arguments.
60
+ #
61
+ def self.end_tags=(bool)
62
+ expect(bool, [TrueClass, FalseClass])
63
+ @end_tags = bool
64
+ end
65
+
66
+ alias to_s html
67
+ alias to_str html
68
+ end
69
+ end
@@ -1,49 +1,49 @@
1
- module HTML
2
-
3
- # This class represents an HTML table foot (<tfoot>). It is a
4
- # subclass of Table::TableSection. It is a singleton class.
5
- #
6
- class Table::Foot < Table::TableSection
7
- private_class_method :new
8
-
9
- @@foot = nil
10
- @indent_level = 3
11
- @end_tags = true
12
-
13
- # This is our constructor for Foot objects because it is a singleton
14
- # class. Optionally, a block may be provided. If an argument is
15
- # provided it is treated as content.
16
- #
17
- def self.create(arg=nil, &block)
18
- @@foot = new(arg, &block) unless @@foot
19
- @@foot
20
- end
21
-
22
- # Called by create() instead of new(). This initializes the Foot class.
23
- #
24
- def initialize(arg, &block)
25
- @html_begin = "<tfoot"
26
- @html_end = "</tfoot>"
27
- instance_eval(&block) if block_given?
28
- self.content = arg if arg
29
- end
30
-
31
- # Returns a boolean indicating whether or not end tags, </tfoot>, are
32
- # included for each Foot object in the final HTML output. The
33
- # default is true.
34
- #
35
- def self.end_tags?
36
- @end_tags
37
- end
38
-
39
- # Sets whether or not end tags are included for each Foot object in
40
- # the final HTML output. The default is true. Only true or false are
41
- # valid arguments.
42
- #
43
- def self.end_tags=(bool)
44
- expect(bool, [TrueClass,FalseClass])
45
- @end_tags = bool
46
- end
47
- end
48
-
49
- end
1
+ module HTML
2
+
3
+ # This class represents an HTML table foot (<tfoot>). It is a
4
+ # subclass of Table::TableSection. It is a singleton class.
5
+ #
6
+ class Table::Foot < Table::TableSection
7
+ private_class_method :new
8
+
9
+ @@foot = nil
10
+ @indent_level = 3
11
+ @end_tags = true
12
+
13
+ # This is our constructor for Foot objects because it is a singleton
14
+ # class. Optionally, a block may be provided. If an argument is
15
+ # provided it is treated as content.
16
+ #
17
+ def self.create(arg=nil, &block)
18
+ @@foot = new(arg, &block) unless @@foot
19
+ @@foot
20
+ end
21
+
22
+ # Called by create() instead of new(). This initializes the Foot class.
23
+ #
24
+ def initialize(arg, &block)
25
+ @html_begin = "<tfoot"
26
+ @html_end = "</tfoot>"
27
+ instance_eval(&block) if block_given?
28
+ self.content = arg if arg
29
+ end
30
+
31
+ # Returns a boolean indicating whether or not end tags, </tfoot>, are
32
+ # included for each Foot object in the final HTML output. The
33
+ # default is true.
34
+ #
35
+ def self.end_tags?
36
+ @end_tags
37
+ end
38
+
39
+ # Sets whether or not end tags are included for each Foot object in
40
+ # the final HTML output. The default is true. Only true or false are
41
+ # valid arguments.
42
+ #
43
+ def self.end_tags=(bool)
44
+ expect(bool, [TrueClass,FalseClass])
45
+ @end_tags = bool
46
+ end
47
+ end
48
+
49
+ end
@@ -1,49 +1,49 @@
1
- module HTML
2
-
3
- # This class represents an HTML table head (<thead>). It is a
4
- # subclass of Table::TableSection. It is a singleton class.
5
- #
6
- class Table::Head < Table::TableSection
7
- private_class_method :new
8
-
9
- @@head = nil
10
-
11
- @indent_level = 3
12
- @end_tags = true
13
-
14
- # This is our constructor for Head objects because it is a singleton
15
- # class. Optionally, a block may be provided. If an argument is
16
- # provided it is treated as content.
17
- #
18
- def self.create(arg=nil, &block)
19
- @@head = new(arg, &block) unless @@head
20
- @@head
21
- end
22
-
23
- # Called by create() instead of new(). This initializes the Head class.
24
- #
25
- def initialize(arg, &block)
26
- @html_begin = "<thead"
27
- @html_end = "</thead>"
28
- instance_eval(&block) if block_given?
29
- self.content = arg if arg
30
- end
31
-
32
- # Returns a boolean indicating whether or not end tags, </thead>, are
33
- # included for each Head object in the final HTML output. The
34
- # default is true.
35
- #
36
- def self.end_tags?
37
- @end_tags
38
- end
39
-
40
- # Sets whether or not end tags are included for each Head object in
41
- # the final HTML output. The default is true. Only true or false are
42
- # valid arguments.
43
- #
44
- def self.end_tags=(bool)
45
- expect(bool,[TrueClass,FalseClass])
46
- @end_tags = bool
47
- end
48
- end
49
- end
1
+ module HTML
2
+
3
+ # This class represents an HTML table head (<thead>). It is a
4
+ # subclass of Table::TableSection. It is a singleton class.
5
+ #
6
+ class Table::Head < Table::TableSection
7
+ private_class_method :new
8
+
9
+ @@head = nil
10
+
11
+ @indent_level = 3
12
+ @end_tags = true
13
+
14
+ # This is our constructor for Head objects because it is a singleton
15
+ # class. Optionally, a block may be provided. If an argument is
16
+ # provided it is treated as content.
17
+ #
18
+ def self.create(arg=nil, &block)
19
+ @@head = new(arg, &block) unless @@head
20
+ @@head
21
+ end
22
+
23
+ # Called by create() instead of new(). This initializes the Head class.
24
+ #
25
+ def initialize(arg, &block)
26
+ @html_begin = "<thead"
27
+ @html_end = "</thead>"
28
+ instance_eval(&block) if block_given?
29
+ self.content = arg if arg
30
+ end
31
+
32
+ # Returns a boolean indicating whether or not end tags, </thead>, are
33
+ # included for each Head object in the final HTML output. The
34
+ # default is true.
35
+ #
36
+ def self.end_tags?
37
+ @end_tags
38
+ end
39
+
40
+ # Sets whether or not end tags are included for each Head object in
41
+ # the final HTML output. The default is true. Only true or false are
42
+ # valid arguments.
43
+ #
44
+ def self.end_tags=(bool)
45
+ expect(bool,[TrueClass,FalseClass])
46
+ @end_tags = bool
47
+ end
48
+ end
49
+ end
@@ -1,65 +1,65 @@
1
- module HTML
2
-
3
- # This class represents an HTML table header (<th>). Despite the name
4
- # it is not a subclass of Table or Table::Row.
5
- #
6
- class Table::Row::Header
7
- include AttributeHandler
8
- include HtmlHandler
9
-
10
- undef_method :configure
11
-
12
- @indent_level = 6
13
- @end_tags = true
14
-
15
- # Creates and returns a new Header object. Optionally takes a block.
16
- # If an argument is provided, it is treated as content.
17
- #
18
- def initialize(arg = nil, &block)
19
- @html_begin = '<th'
20
- @html_body = ''
21
- @html_end = '</th>'
22
- instance_eval(&block) if block_given?
23
- self.content = arg if arg
24
- end
25
-
26
- # Adds content to the Table::Row::Header object.
27
- #
28
- def content=(arg)
29
- arg = arg.is_a?(Array) ? arg.join : arg.to_s
30
- @html_body = Table::Content.new(arg)
31
- end
32
-
33
- # Returns the indentation level for the tags of this class. The
34
- # default is 6.
35
- #
36
- def self.indent_level
37
- @indent_level
38
- end
39
-
40
- # Sets the indentation level for the tags of this class. The default
41
- # is 6.
42
- #
43
- def self.indent_level=(num)
44
- expect(num,Integer)
45
- raise ArgumentError,"indent_level must be >= 0" if num < 0
46
- @indent_level = num
47
- end
48
-
49
- # Returns a boolean indicating whether or not end tags are included for
50
- # each Header object in the final HTML output. The default is true.
51
- #
52
- def self.end_tags?
53
- @end_tags
54
- end
55
-
56
- # Sets whether or not end tags are included for each Header object in
57
- # the final HTML output. The default is true. Only true or false are
58
- # valid arguments.
59
- #
60
- def self.end_tags=(bool)
61
- expect(bool,[TrueClass,FalseClass])
62
- @end_tags = bool
63
- end
64
- end
65
- end
1
+ module HTML
2
+
3
+ # This class represents an HTML table header (<th>). Despite the name
4
+ # it is not a subclass of Table or Table::Row.
5
+ #
6
+ class Table::Row::Header
7
+ include AttributeHandler
8
+ include HtmlHandler
9
+
10
+ undef_method :configure
11
+
12
+ @indent_level = 6
13
+ @end_tags = true
14
+
15
+ # Creates and returns a new Header object. Optionally takes a block.
16
+ # If an argument is provided, it is treated as content.
17
+ #
18
+ def initialize(arg = nil, &block)
19
+ @html_begin = '<th'
20
+ @html_body = ''
21
+ @html_end = '</th>'
22
+ instance_eval(&block) if block_given?
23
+ self.content = arg if arg
24
+ end
25
+
26
+ # Adds content to the Table::Row::Header object.
27
+ #
28
+ def content=(arg)
29
+ arg = arg.is_a?(Array) ? arg.join : arg.to_s
30
+ @html_body = Table::Content.new(arg)
31
+ end
32
+
33
+ # Returns the indentation level for the tags of this class. The
34
+ # default is 6.
35
+ #
36
+ def self.indent_level
37
+ @indent_level
38
+ end
39
+
40
+ # Sets the indentation level for the tags of this class. The default
41
+ # is 6.
42
+ #
43
+ def self.indent_level=(num)
44
+ expect(num,Integer)
45
+ raise ArgumentError,"indent_level must be >= 0" if num < 0
46
+ @indent_level = num
47
+ end
48
+
49
+ # Returns a boolean indicating whether or not end tags are included for
50
+ # each Header object in the final HTML output. The default is true.
51
+ #
52
+ def self.end_tags?
53
+ @end_tags
54
+ end
55
+
56
+ # Sets whether or not end tags are included for each Header object in
57
+ # the final HTML output. The default is true. Only true or false are
58
+ # valid arguments.
59
+ #
60
+ def self.end_tags=(bool)
61
+ expect(bool,[TrueClass,FalseClass])
62
+ @end_tags = bool
63
+ end
64
+ end
65
+ end