class TableTransformer::LineGenerator
Attributes
column_width[R]
Public Class Methods
new(column_width:)
click to toggle source
# File lib/table_transformer/line_generator.rb, line 7 def initialize(column_width:) @column_width = column_width end
Public Instance Methods
data_line(data)
click to toggle source
# File lib/table_transformer/line_generator.rb, line 24 def data_line(data) generate_line(data) end
delimiter_line()
click to toggle source
# File lib/table_transformer/line_generator.rb, line 11 def delimiter_line @delimiter_line ||= "+".tap do |line| column_width.each do |k, v| line += "-" * v + "+" end break line end end
header_line()
click to toggle source
# File lib/table_transformer/line_generator.rb, line 20 def header_line @header_line ||= generate_line(header_data) end
Private Instance Methods
generate_line(data)
click to toggle source
# File lib/table_transformer/line_generator.rb, line 39 def generate_line(data) "|".tap do |line| column_width.each do |k, v| blank_number = v - width(data[k]) - 1 line += " " + data[k].to_s + " " * blank_number + "|" end break line end end
header_data()
click to toggle source
# File lib/table_transformer/line_generator.rb, line 30 def header_data {}.tap do |data| column_width.each do |k,| data[k] = k end break data end end