class RTables::Table::MonoTable
Public Instance Methods
max_content_length()
click to toggle source
# File lib/rtables/tables/monotable.rb, line 43 def max_content_length max_len = 0 @table_content.each do |contents| contents.each do |content| len = content.length max_len = len if max_len < len end end max_len end
max_header_length()
click to toggle source
# File lib/rtables/tables/monotable.rb, line 56 def max_header_length max_len = 0 @table_header.each do |head| len = head.length max_len = len if max_len < len end max_len end
pad_content(content, clen)
click to toggle source
# File lib/rtables/tables/monotable.rb, line 37 def pad_content(content, clen) spacing = clen - content.length content + (' ' * spacing) end
pad_header(header, hlen)
click to toggle source
# File lib/rtables/tables/monotable.rb, line 31 def pad_header(header, hlen) spacing = hlen - header.length header + (' ' * spacing) end
render()
click to toggle source
# File lib/rtables/tables/monotable.rb, line 4 def render corner = '+' line_horizontal = '-' line_vertical = '|' hlen = max_header_length clen = max_content_length row_sep = "#{corner}#{line_horizontal * (hlen + 2)}#{corner}#{line_horizontal * (clen + 2)}#{corner}" line_fmt = "#{line_vertical} %{header} #{line_vertical} %{content} #{line_vertical}" lines = [] i = 0 lines << row_sep @table_content.each do |contents| contents.each do |content| lines << line_fmt % { header: pad_header(@table_header[i], hlen), content: pad_content(content, clen) } i += 1 end i = 0 lines << row_sep end lines end