1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
require 'rubygems/user_interaction'
module Librarian
class UI
def warn(message = nil)
end
def debug(message = nil)
end
def error(message = nil)
end
def info(message = nil)
end
def confirm(message = nil)
end
class Shell < UI
attr_writer :shell
attr_reader :debug_line_numbers
def initialize(shell)
@shell = shell
@quiet = false
@debug = ENV['DEBUG']
@debug_line_numbers = false
end
def debug(message = nil)
@shell.say(message || yield) if @debug && !@quiet
end
def info(message = nil)
@shell.say(message || yield) if !@quiet
end
def confirm(message = nil)
@shell.say(message || yield, :green) if !@quiet
end
def warn(message = nil)
@shell.say(message || yield, :yellow)
end
def error(message = nil)
@shell.say(message || yield, :red)
end
def be_quiet!
@quiet = true
end
def debug!
@debug = true
end
def debug?
@debug
end
def debug_line_numbers!
@debug_line_numbers = true
end
end
end
end
|