Sha256: 8cc9892eaebc2fbbdfcbda02138063e35648d3d45a3d13d8d58ca24c5bdfc7b4

Contents?: true

Size: 1.19 KB

Versions: 1

Compression:

Stored size: 1.19 KB

Contents

module TableGo
  module Renderers
    class HtmlRenderer
      include RendererBase

      def render_template
        content_tag(:table, table.table_html) do
          concat(content_tag(:caption, table.title)) if table.title
          concat(table_head)
          concat(table_body)
        end
      end

      def table_head
        content_tag(:thead) do
          content_tag(:tr) do
            table.columns.each do |column|
              concat(content_tag(:th, label_for_column(column), html_options_for_header(column)))
            end
          end
        end
      end

      def table_body
        content_tag(:tbody) do
          table.collection.each do |record|
             tr = content_tag(:tr, html_options_for_row(record)) do
              table.columns.each do |column|
                value = value_from_record_by_column(record, column)
                concat(content_tag(:td, apply_formatter(record, column, value), html_options_for_cell(record, column, value)))
              end
             end
             concat(tr)
          end
        end
      end

      def table_foot
        content_tag(:tfoot) do
          content_tag(:tr) do
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
table_go-0.2.3 lib/table_go/renderers/html_renderer.rb