Class: HTML::Table::ColGroup
- Inherits:
-
Array
- Object
- Array
- HTML::Table::ColGroup
- Includes:
- AttributeHandler, HtmlHandler
- Defined in:
- lib/html/colgroup.rb
Overview
This class represents an HTML column group (<colgroup>). It is a subclass of Array. The only elements it may contain are instances of the ColGroup::Col class.
Defined Under Namespace
Classes: Col
Class Method Summary collapse
-
.end_tags=(bool) ⇒ Object
Sets whether or not end tags are included for each ColGroup object in the final HTML output.
-
.end_tags? ⇒ Boolean
Returns a boolean indicating whether or not end tags are included for each ColGroup object in the final HTML output.
-
.indent_level ⇒ Object
Returns the indentation level for the tags of this class.
-
.indent_level=(num) ⇒ Object
Sets the indentation level for the tags of this class.
Instance Method Summary collapse
-
#<<(obj) ⇒ Object
This method has been redefined to only allow ColGroup::Col objects to be pushed onto a ColGroup instance.
-
#[]=(index, obj) ⇒ Object
This method has been redefined to only allow ColGroup::Col objects to be assigned.
-
#initialize(arg = nil, &block) ⇒ ColGroup
constructor
Returns a new ColGroup object.
-
#push(*args) ⇒ Object
This method has been redefined to only allow ColGroup::Col objects to be pushed onto a ColGroup instance.
-
#unshift(obj) ⇒ Object
This method has been redefined to only allow ColGroup::Col objects to be unshifted onto a ColGroup instance.
Methods included from HtmlHandler
Methods included from AttributeHandler
#abbr, #abbr=, #align, #align=, #axis, #axis=, #background, #background=, #bgcolor, #bgcolor=, #border, #border=, #bordercolor, #bordercolor=, #bordercolordark, #bordercolordark=, #bordercolorlight, #bordercolorlight=, #cellpadding, #cellpadding=, #cellspacing, #cellspacing=, #char, #char=, #charoff, #charoff=, #class_, #class_=, #col, #col=, #colspan, #colspan=, #configure, #content, #frame, #frame=, #height, #height=, #hspace, #hspace=, #nowrap, #nowrap=, #rowspan, #rowspan=, #rules, #rules=, #span, #span=, #style, #style=, #summary, #summary=, #valign, #valign=, #vspace, #vspace=, #width, #width=
Constructor Details
#initialize(arg = nil, &block) ⇒ ColGroup
Returns a new ColGroup object. Optionally takes a block. If an argument is provided, it is treated as content.
18 19 20 21 22 23 24 |
# File 'lib/html/colgroup.rb', line 18 def initialize(arg = nil, &block) @html_begin = '<colgroup' @html_body = '' @html_end = '</colgroup>' instance_eval(&block) if block_given? self.push(arg) if arg end |
Class Method Details
.end_tags=(bool) ⇒ Object
Sets whether or not end tags are included for each ColGroup object in the final HTML output. The default is true. Only true or false are valid arguments.
105 106 107 108 |
# File 'lib/html/colgroup.rb', line 105 def self.(bool) expect(bool,[TrueClass,FalseClass]) @end_tags = bool end |
.end_tags? ⇒ Boolean
Returns a boolean indicating whether or not end tags are included for each ColGroup object in the final HTML output. The default is true.
97 98 99 |
# File 'lib/html/colgroup.rb', line 97 def self. @end_tags end |
.indent_level ⇒ Object
Returns the indentation level for the tags of this class. The default is 3.
29 30 31 |
# File 'lib/html/colgroup.rb', line 29 def self.indent_level @indent_level end |
.indent_level=(num) ⇒ Object
Sets the indentation level for the tags of this class. The default is 3.
36 37 38 39 40 |
# File 'lib/html/colgroup.rb', line 36 def self.indent_level=(num) expect(num,Integer) raise ArgumentError,"indent_level must be >= 0" if num < 0 @indent_level = num end |
Instance Method Details
#<<(obj) ⇒ Object
This method has been redefined to only allow ColGroup::Col objects to be pushed onto a ColGroup instance.
74 75 76 77 78 79 80 81 |
# File 'lib/html/colgroup.rb', line 74 def <<(obj) unless obj.kind_of?(Table::ColGroup::Col) msg = "Can only assign Col objects to ColGroup class" msg += ": " + obj.class.to_s raise TypeError, msg end super(obj) end |
#[]=(index, obj) ⇒ Object
This method has been redefined to only allow ColGroup::Col objects to be assigned.
45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/html/colgroup.rb', line 45 def []=(index,obj) if obj.kind_of?(Array) expect(obj.first,Col) # In case of 0 length Array obj.each{ |o| expect(o,Col) } else expect(obj,Col) end super end |
#push(*args) ⇒ Object
This method has been redefined to only allow ColGroup::Col objects to be pushed onto a ColGroup instance.
60 61 62 63 64 65 66 67 68 69 |
# File 'lib/html/colgroup.rb', line 60 def push(*args) args.each do |obj| unless obj.kind_of?(Table::ColGroup::Col) msg = "Can only assign Col objects to ColGroup class" msg += ": " + obj.class.to_s raise TypeError, msg end super(obj) end end |
#unshift(obj) ⇒ Object
This method has been redefined to only allow ColGroup::Col objects to be unshifted onto a ColGroup instance.
86 87 88 89 90 91 92 |
# File 'lib/html/colgroup.rb', line 86 def unshift(obj) unless obj.kind_of?(Table::ColGroup::Col) msg = "Can only assign Data and Header objects to Row class" raise TypeError, msg end super end |