Module: GemIgnore::Util

Included in:
Main
Defined in:
lib/gemignore/util.rb

Overview

Module to encapsulate some utility functions used within GemIgnore

Instance Method Summary collapse

Instance Method Details

#error(msg, level = 0) ⇒ Object



31
32
33
# File 'lib/gemignore/util.rb', line 31

def error(msg, level=0)
  puts (prefix(level) + msg).foreground(:red)
end

#msg(msg, level = 0) ⇒ Object



16
17
18
# File 'lib/gemignore/util.rb', line 16

def msg(msg, level=0)
  puts (prefix(level) + msg)
end

#notice(msg, level = 0) ⇒ Object



26
27
28
# File 'lib/gemignore/util.rb', line 26

def notice(msg, level=0)
  puts (prefix(level) + msg).foreground(:yellow)
end

#prefix(level) ⇒ Object



36
37
38
39
# File 'lib/gemignore/util.rb', line 36

def prefix(level)
  return "" if level <= 0
  ("-" * level) + "> "
end

#success(msg, level = 0) ⇒ Object



21
22
23
# File 'lib/gemignore/util.rb', line 21

def success(msg, level=0)
  puts (prefix(level) + msg).foreground(:green)
end

#table(items) ⇒ Object



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

def table(items)
  maxLength = (items.map { |e| e.length }).max

  columns = TermInfo.screen_size[1]
  itemsPerRow = (columns/maxLength).floor

  itemsInRows = items.reduce([[]]) do |memo, obj|
    memo.push([]) if memo.last.length >= itemsPerRow
    memo.last.push(obj)
    memo
  end

  table = Terminal::Table.new :rows => itemsInRows
  table.style = {:border_x => "", :border_i => "", :border_y => ""}
  table.to_s
end