Sha256: 00dcb99246ad938c26f1f4461e2e85aa5d74e30103525b98cd9f3bd5adc55824
Contents?: true
Size: 1.58 KB
Versions: 2
Compression:
Stored size: 1.58 KB
Contents
module FatTable # A subclass of Formatter for rendering the table as a Ruby Array of Hashes. # Each row of the Array is a Hash representing one row of the table with the # keys being the symbolic form of the headers. Each cell is a value in a row # Hash formatted as a string in accordance with the formatting directives. All # footers are included as extra Hashes of the output. AoaFormatter supports no # +options+ class AohFormatter < Formatter private def evaluate? true end def pre_table '[' end def post_table ']' end # We include no row for the header because the keys of each hash serve as # the headers. def include_header_row? false end def pre_row '{' end def pre_cell(h) ":#{h.as_sym} => '" end # Because the cell, after conversion to a single-quoted string will be # eval'ed, we need to escape any single-quotes (') that appear in the # string. def quote_cell(v) if v.match?(/'/) # Use a negative look-behind to only quote single-quotes that are not # already preceded by a backslash v.gsub(/(?<!\\)'/, "'" => "\\'") else v end end def post_cell "'" end def inter_cell ',' end def post_row "},\n" end def hline(_widths) "nil,\n" end def pre_group '' end def post_group '' end def pre_gfoot '' end def post_gfoot '' end def pre_foot '' end def post_foot '' end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fat_table-0.2.8 | lib/fat_table/formatters/aoh_formatter.rb |
fat_table-0.2.7 | lib/fat_table/formatters/aoh_formatter.rb |