Class: Brightbox::ShowTable

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

Overview

Vertical table for “show” views

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

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



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

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

Instance Method Details



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

def render_footer; []; end

#render_headerObject



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

def render_header; []; end

#render_rowsObject



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

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



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

def setup_field_lengths
  @field_lengths = default_field_lengths
end