class HTML::Table::ColGroup
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.
Public Class Methods
Returns the indentation level for the tags of this class. The default is 3.
# File lib/html/colgroup.rb, line 29 def self.indent_level @indent_level end
Sets the indentation level for the tags of this class. The default is 3.
# 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
Returns a new ColGroup
object. Optionally takes a block. If an argument is provided, it is treated as content.
# 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
Public Instance Methods
This method has been redefined to only allow ColGroup::Col
objects to be pushed onto a ColGroup
instance.
# 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
This method has been redefined to only allow ColGroup::Col
objects to be assigned.
# 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
This method has been redefined to only allow ColGroup::Col
objects to be pushed onto a ColGroup
instance.
# 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
This method has been redefined to only allow ColGroup::Col
objects to be unshifted onto a ColGroup
instance.
# 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