class Aruba::Platforms::SimpleTable
Generate simple table
Attributes
hash[R]
opts[R]
Public Class Methods
new(hash, opts)
click to toggle source
Create
@param [Hash] hash
Input
# File lib/aruba/platforms/simple_table.rb, line 17 def initialize(hash, opts) @hash = hash @opts = { :sort => true }.merge opts end
Public Instance Methods
to_s()
click to toggle source
Generate table
@return [String]
The table
# File lib/aruba/platforms/simple_table.rb, line 28 def to_s longest_key = hash.keys.map(&:to_s).max_by(&:length) return '' if longest_key.nil? name_size = longest_key.length if RUBY_VERSION < '2' rows = [] hash.each do |k,v| rows << format("# %-#{name_size}s => %s", k, v) end else rows = hash.each_with_object([]) do |(k,v), a| a << format("# %-#{name_size}s => %s", k, v) end end if opts[:sort] == true rows.sort.join("\n") else rows.join("\n") end end