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
- #error(msg, level = 0) ⇒ Object
- #msg(msg, level = 0) ⇒ Object
- #notice(msg, level = 0) ⇒ Object
- #prefix(level) ⇒ Object
- #success(msg, level = 0) ⇒ Object
- #table(items) ⇒ Object
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 |