Module: Smithy::Format

Defined in:
lib/smithy/format.rb

Defined Under Namespace

Classes: CSV, Doku, Name, Path, Table

Class Method Summary collapse

Class Method Details



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/smithy/format.rb', line 40

def self.print_column_list(items)
  max_size = 0
  items.each { |m| max_size = m.size if m.size > max_size }
  width = `tput cols`.to_i
  columns = (width/(max_size+3.0)).ceil
  items_per_column = (items.size/columns.to_f).ceil

  items_copy = items.dup
  s = []
  columns.times do
    s << items_copy.slice!(0, items_per_column)
  end
  while s.last.size < items_per_column do
    s.last << ""
  end
  table = Terminal::Table.new :rows => s.transpose
  puts table.to_s
end

.software_row(s) ⇒ Object



59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/smithy/format.rb', line 59

def self.software_row(s)
  row = []
  row << s
  source = s+'/rebuild'
  if File.exist?(source)
    f = File.stat(source)
  else
    f = File.stat(s)
  end
  row << f.mtime.strftime("%Y-%m-%d %H:%M:%S")
  begin
    user = Etc.getpwuid(f.uid)
    row << user.try(:name)
    row << user.try(:gecos)
  rescue
    row << 'unknown'
    row << 'unknown'
  end
end