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

Version Path
adva-0.3.2 vendor/gems/table_builder/lib/table_builder/row.rb
adva-0.3.1 vendor/gems/table_builder/lib/table_builder/row.rb
adva-0.3.0 vendor/gems/table_builder/lib/table_builder/row.rb
adva-0.2.4 vendor/gems/table_builder/lib/table_builder/row.rb
adva-0.2.3 vendor/gems/table_builder/lib/table_builder/row.rb
adva-0.2.2 vendor/gems/table_builder/lib/table_builder/row.rb
adva-0.2.1 vendor/gems/table_builder/lib/table_builder/row.rb
adva-0.2.0 vendor/gems/table_builder/lib/table_builder/row.rb
adva-0.1.4 vendor/gems/table_builder/lib/table_builder/row.rb
adva-0.1.3 vendor/gems/table_builder/lib/table_builder/row.rb
adva-0.1.2 vendor/gems/table_builder/lib/table_builder/row.rb
adva-0.1.1 vendor/gems/table_builder/lib/table_builder/row.rb
adva-0.1.0 vendor/gems/table_builder/lib/table_builder/row.rb
adva_cms-0.0.1 vendor/gems/table_builder/lib/table_builder/row.rb
adva-0.0.1 adva_cms/vendor/gems/table_builder/lib/table_builder/row.rb