lib/librarian/ui.rb
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_line_numbers!
@debug_line_numbers = true
end
end
end
end