# 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 << ' ' memo << " " if element.header_css_class memo << " #{element.header}" memo << ' ' if element.header_css_class memo << ' ' end end data_row = data.reduce([]) do |memo, element| memo << ' ' memo << " " if element.element_css_class memo << " #{element.element}" memo << ' ' if element.element_css_class memo << ' ' memo end content = [""] content << " " content.concat header_row content << ' ' content << " " content.concat data_row content << ' ' content << '
' content.join("\n") end end end end