Sha256: ad7a2e3bb9b779eeb96305b93b3a0aa49e0d9d15f0e9ad6bb2e3f33ebbed961f
Contents?: true
Size: 949 Bytes
Versions: 15
Compression:
Stored size: 949 Bytes
Contents
module TableBuilder class Row < Tag self.level = 2 self.tag_name = :tr def initialize(parent, record = nil, options = {}, &block) super(parent, options) @parent = parent @cells = [] @block = block yield(*[self, record].compact) if block_given? end def cell(*contents) options = contents.last.is_a?(Hash) ? contents.pop : {} add_class!(options, current_column_class) if parent.is_a?(Body) contents.each do |content| @cells << Cell.new(self, content, options) end end def render super @cells.map(&:render).join end protected def alternate(options) options[:class] ||= '' options[:class] = options[:class].split(' ').push('alternate').join(' ') end def current_column_class column = table.columns[@cells.size] column && column.options[:class] || '' end end end
Version data entries
15 entries across 15 versions & 2 rubygems