Sha256: 4a87d41453714b3f6250fc5ce68965d56080cd3f18560d0faa24fbb7e7fd3e36

Contents?: true

Size: 896 Bytes

Versions: 1

Compression:

Stored size: 896 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, {:no_newlines=>false}.merge(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 = Hirb::String.size @headers.values.sort_by {|e| Hirb::String.size(e) }.last
    stars = "*" * [(longest_header + (longest_header / 2)), 3].max
    @rows.map do |row|
      row = "#{stars} #{i+1}. row #{stars}\n" +
      @fields.map {|f|
        "#{Hirb::String.rjust(@headers[f], longest_header)}: #{row[f]}"
      }.join("\n")
      i+= 1
      row
    end
  #:startdoc:
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hirb-0.2.9 lib/hirb/helpers/vertical_table.rb