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