class Scooter::UI
Attributes
options[R]
stderr[R]
stdin[R]
stdout[R]
Public Class Methods
new(stdout, stderr, stdin, options = {})
click to toggle source
# File lib/scooter/ui.rb, line 12 def initialize(stdout, stderr, stdin, options = {}) @stdout, @stderr, @stdin, @options = stdout, stderr, stdin, options # Flush output immediately stdout.sync = true stderr.sync = true end
Public Instance Methods
announce(message)
click to toggle source
# File lib/scooter/ui.rb, line 20 def announce(message) out("#{color(message, :green, :bold)} ") end
color(string, color = :light_green, style = :default)
click to toggle source
# File lib/scooter/ui.rb, line 24 def color(string, color = :light_green, style = :default) if color? string.colorize(color: color, mode: style) else string end end
err(message)
click to toggle source
# File lib/scooter/ui.rb, line 32 def err(message) stderr.puts("#{message}") unless @options[:quiet] end
error(message)
click to toggle source
# File lib/scooter/ui.rb, line 36 def error(message) err("#{color('[ERROR]', :red, :bold)} #{message}") end
exit(code)
click to toggle source
# File lib/scooter/ui.rb, line 40 def exit(code) Kernel.exit!(code) end
fatal(message)
click to toggle source
# File lib/scooter/ui.rb, line 44 def fatal(message) err("#{color('[FATAL]', :red, :bold)} #{message}") end
info(message='',color = :light_green)
click to toggle source
# File lib/scooter/ui.rb, line 48 def info(message='',color = :light_green) out(color(message,color)) end
out(message='')
click to toggle source
# File lib/scooter/ui.rb, line 52 def out(message='') stdout.puts("#{message}") unless @options[:quiet] end
verbose(message)
click to toggle source
# File lib/scooter/ui.rb, line 56 def verbose(message) out(color(message)) if @options[:verbose] end
warn(message)
click to toggle source
# File lib/scooter/ui.rb, line 60 def warn(message) err("#{color('[WARNING]', :yellow, :bold)} #{message}") end
Private Instance Methods
color?()
click to toggle source
# File lib/scooter/ui.rb, line 66 def color? @options[:color] && stdout.tty? && os != :windows end
os()
click to toggle source
# File lib/scooter/ui.rb, line 70 def os @os ||= ( host_os = RbConfig::CONFIG['host_os'] case host_os when /mswin|msys|mingw|cygwin|bccwin|wince|emc/ :windows when /darwin|mac os/ :macosx when /linux/ :linux when /solaris|bsd/ :unix else :other end ) end