Class: ShowTable

Inherits:
Hirb::Helpers::Table show all
Defined in:
lib/bbcloud/tables.rb

Overview

Vertical table for “show” views

Constant Summary

Constants inherited from Hirb::Helpers::Table

Hirb::Helpers::Table::BORDER_LENGTH, Hirb::Helpers::Table::MIN_FIELD_LENGTH

Instance Attribute Summary

Attributes inherited from Hirb::Helpers::Table

#field_lengths, #fields, #max_fields, #width

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Hirb::Helpers::Table

#actual_width, #array_to_indices_hash, #call_filter, #default_field_lengths, #enforce_field_constraints, #filter_values, #format_cell, #initialize, #render, #render_border, #render_table_description, #render_table_header, #set_fields, #set_filter_defaults, #set_headers, #set_rows, #validate_values

Constructor Details

This class inherits a constructor from Hirb::Helpers::Table

Class Method Details

.render(rows, options = {}) ⇒ Object



33
34
35
# File 'lib/bbcloud/tables.rb', line 33

def self.render(rows, options={})
  new(rows, {:escape_special_chars=>false, :resize=>false}.merge(options)).render
end

Instance Method Details



42
# File 'lib/bbcloud/tables.rb', line 42

def render_footer; []; end

#render_headerObject



41
# File 'lib/bbcloud/tables.rb', line 41

def render_header; []; end

#render_rowsObject



44
45
46
47
48
49
50
51
52
53
# File 'lib/bbcloud/tables.rb', line 44

def render_rows
  longest_header = Hirb::String.size @headers.values.sort_by {|e| Hirb::String.size(e) }.last
  @rows.map do |row|
    fields = @fields.map {|f|
      "#{Hirb::String.rjust(@headers[f], longest_header)}: #{row[f]}"
    }
    fields << "" if @rows.size > 1
    fields.compact.join("\n")
  end
end

#setup_field_lengthsObject



37
38
39
# File 'lib/bbcloud/tables.rb', line 37

def setup_field_lengths
  @field_lengths = default_field_lengths
end