lib/fanforce/cli/utils.rb in fanforce-cli-2.0.0.rc1 vs lib/fanforce/cli/utils.rb in fanforce-cli-2.0.0.rc3
- old
+ new
@@ -22,11 +22,13 @@
def fmt(text, *args)
"#{fmt_start(*args)}#{text}#{fmt_end}"
end
def fmt_start(*args)
- effect = args.include?(:bold) ? 1 : 0
+ effect = if args.include?(:bold) then 1
+ elsif args.include?(:underline) then 4
+ else 0 end
color = if args.include?(:red) then 31
elsif args.include?(:green) then 32
elsif args.include?(:magenta) then 35
else 39 end
"\033[#{effect};#{color}m"
@@ -45,9 +47,18 @@
def prompt(msg, required=false)
print "#{msg}"
response = $stdin.gets.strip
(required && response.blank?) ? prompt(msg, required) : response
+ end
+
+ def require_gem(gem, file_to_require, retries=0)
+ require file_to_require
+ rescue LoadError => e
+ raise if retries > 0
+ puts `gem install #{gem}`
+ Gem.clear_paths
+ require_gem(gem, file_to_require, retries+1)
end
def find_cli_type(home_dir)
dir_names = home_dir.split('/')
types = {
\ No newline at end of file