Sha256: eba831d24a9f9aa33899382ecae84d3a70abf3030d28cad44d726599a865800a
Contents?: true
Size: 1.76 KB
Versions: 16
Compression:
Stored size: 1.76 KB
Contents
# encoding: utf-8 module LocalPac module ProxyPac class HTMLTableStyle private attr_reader :data, :main_container_css_class, :element_container_css_class public def initialize(options = {}) @main_container_css_class = options.fetch(:main_container_css_class) @element_container_css_class = options.fetch(:element_container_css_class) @data = [] rescue KeyError => e raise ArgumentError, e.message end def add_data(data) @data << data end def to_s header_row = data.reduce([]) do |memo, element| if element.header memo << ' <th>' memo << " <span class=\"#{element.header_css_class}\">" if element.header_css_class memo << " #{element.header}" memo << ' </span>' if element.header_css_class memo << ' </th>' end end data_row = data.reduce([]) do |memo, element| memo << ' <td>' memo << " <span class=\"#{element.element_css_class}\">" if element.element_css_class memo << " #{element.element}" memo << ' </span>' if element.element_css_class memo << ' </td>' memo end content = ["<table class=\"#{main_container_css_class}\">"] content << " <tr class=\"#{element_container_css_class}\">" content.concat header_row content << ' </tr>' content << " <tr class=\"#{element_container_css_class}\">" content.concat data_row content << ' </tr>' content << '</table>' content.join("\n") end end end end
Version data entries
16 entries across 16 versions & 1 rubygems