Sha256: 1dc7093a640c1cb6a64094f68804d260dc86671bf9b1abe11888dc2badef3fe7

Contents?: true

Size: 829 Bytes

Versions: 2

Compression:

Stored size: 829 Bytes

Contents

class Hirb::Helpers::VerticalTable < Hirb::Helpers::Table

  # Renders a vertical table using the same options as Hirb::Helpers::Table.render except for :field_lengths,
  # :vertical and :max_width which aren't used.
  def self.render(rows, options={})
    new(rows, options).render
  end

  #:stopdoc:
  def setup_field_lengths
    @field_lengths = default_field_lengths
  end

  def render_header; []; end
  def render_footer; []; end

  def render_rows
    i = 0
    longest_header = @headers.values.sort_by {|e| e.length}.last.length
    stars = "*" * [(longest_header + (longest_header / 2)), 3].max
    @rows.map do |row|
      row = "#{stars} #{i+1}. row #{stars}\n" +
      @fields.map {|f|
        "#{@headers[f].rjust(longest_header)}: #{row[f]}"
      }.join("\n")
      i+= 1
      row
    end
  #:startdoc:
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
cldwalker-hirb-0.2.2 lib/hirb/helpers/vertical_table.rb
hirb-0.2.2 lib/hirb/helpers/vertical_table.rb