Class: Prompt
- Inherits:
-
Object
- Object
- Prompt
- Defined in:
- lib/prompt.rb
Class Method Summary collapse
Instance Method Summary collapse
- #colorize(text, color_code) ⇒ Object
- #green_bg(text) ⇒ Object
- #magenta_text(text) ⇒ Object
- #red_text(text) ⇒ Object
Class Method Details
.color(color = 'default') ⇒ Object
6 7 8 9 10 11 12 13 14 |
# File 'lib/prompt.rb', line 6 def self.color(color='default') color_map = { 'blue' => "\e[34m", 'green' => "\e[32m", 'cyan' => "\e[36m", 'default' => "\e[0m", } return color_map[color] ? color_map[color] : color_map['default'] end |
.parse(str) ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/prompt.rb', line 38 def self.parse(str) str = str.dup parse_map.each do |key,value| str.gsub!(key,value) end return str end |
.parse_map ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/prompt.rb', line 21 def self.parse_map return { '%h' => `hostname -s`.chomp, '%d' => Time.now.strftime('%d'), '%u' => Etc.getpwuid.name, '%w' => Dir.pwd.gsub(ENV['HOME'],'~'), '%W' => File.basename(Dir.pwd.gsub(ENV['HOME'],'~')), '%Cb' => color('blue'), '%Cc' => color('cyan'), '%Cg' => color('green'), '%CC' => color, '%t' => Time.now.strftime('%H:%M:%S'), '%%' => '%', '%$' => Process.euid == 0 ? '#' : '$' } end |
Instance Method Details
#colorize(text, color_code) ⇒ Object
2 3 4 |
# File 'lib/prompt.rb', line 2 def colorize(text, color_code) "#{color_code}#{text}\e[0m" end |
#green_bg(text) ⇒ Object
19 |
# File 'lib/prompt.rb', line 19 def green_bg(text); colorize(text, "\e[42m"); end |
#magenta_text(text) ⇒ Object
17 |
# File 'lib/prompt.rb', line 17 def magenta_text(text); colorize(text, "\e[35m"); end |
#red_text(text) ⇒ Object
16 |
# File 'lib/prompt.rb', line 16 def red_text(text); colorize(text, "\e[31m"); end |