Class: Bundler::UI::Shell
- Inherits:
-
Object
- Object
- Bundler::UI::Shell
- Defined in:
- lib/bundler/ui/shell.rb
Constant Summary collapse
- LEVELS =
%w(silent error warn confirm info debug).freeze
Instance Attribute Summary collapse
-
#shell ⇒ Object
writeonly
Sets the attribute shell.
Instance Method Summary collapse
- #ask(msg) ⇒ Object
- #confirm(msg, newline = nil) ⇒ Object
- #debug(msg, newline = nil) ⇒ Object
- #debug? ⇒ Boolean
- #error(msg, newline = nil) ⇒ Object
- #info(msg, newline = nil) ⇒ Object
-
#initialize(options = {}) ⇒ Shell
constructor
A new instance of Shell.
- #level(name = nil) ⇒ Object
- #level=(level) ⇒ Object
- #no? ⇒ Boolean
- #quiet? ⇒ Boolean
- #silence ⇒ Object
- #trace(e, newline = nil, force = false) ⇒ Object
- #warn(msg, newline = nil) ⇒ Object
- #yes?(msg) ⇒ Boolean
Constructor Details
#initialize(options = {}) ⇒ Shell
Returns a new instance of Shell.
11 12 13 14 15 16 17 18 |
# File 'lib/bundler/ui/shell.rb', line 11 def initialize( = {}) if ["no-color"] || !STDOUT.tty? Thor::Base.shell = Thor::Shell::Basic end @shell = Thor::Base.shell.new @level = ENV["DEBUG"] ? "debug" : "info" @warning_history = [] end |
Instance Attribute Details
#shell=(value) ⇒ Object (writeonly)
Sets the attribute shell
9 10 11 |
# File 'lib/bundler/ui/shell.rb', line 9 def shell=(value) @shell = value end |
Instance Method Details
#ask(msg) ⇒ Object
51 52 53 |
# File 'lib/bundler/ui/shell.rb', line 51 def ask(msg) @shell.ask(msg) end |
#confirm(msg, newline = nil) ⇒ Object
24 25 26 |
# File 'lib/bundler/ui/shell.rb', line 24 def confirm(msg, newline = nil) tell_me(msg, :green, newline) if level("confirm") end |
#debug(msg, newline = nil) ⇒ Object
38 39 40 |
# File 'lib/bundler/ui/shell.rb', line 38 def debug(msg, newline = nil) tell_me(msg, nil, newline) if level("debug") end |
#debug? ⇒ Boolean
42 43 44 45 |
# File 'lib/bundler/ui/shell.rb', line 42 def debug? # needs to be false instead of nil to be newline param to other methods level("debug") end |
#error(msg, newline = nil) ⇒ Object
34 35 36 |
# File 'lib/bundler/ui/shell.rb', line 34 def error(msg, newline = nil) tell_me(msg, :red, newline) if level("error") end |
#info(msg, newline = nil) ⇒ Object
20 21 22 |
# File 'lib/bundler/ui/shell.rb', line 20 def info(msg, newline = nil) tell_me(msg, nil, newline) if level("info") end |
#level(name = nil) ⇒ Object
68 69 70 |
# File 'lib/bundler/ui/shell.rb', line 68 def level(name = nil) name ? LEVELS.index(name) <= LEVELS.index(@level) : @level end |
#level=(level) ⇒ Object
63 64 65 66 |
# File 'lib/bundler/ui/shell.rb', line 63 def level=(level) raise ArgumentError unless LEVELS.include?(level.to_s) @level = level end |
#no? ⇒ Boolean
59 60 61 |
# File 'lib/bundler/ui/shell.rb', line 59 def no? @shell.no?(msg) end |
#quiet? ⇒ Boolean
47 48 49 |
# File 'lib/bundler/ui/shell.rb', line 47 def quiet? LEVELS.index(@level) <= LEVELS.index("warn") end |
#silence ⇒ Object
78 79 80 81 82 83 84 |
# File 'lib/bundler/ui/shell.rb', line 78 def silence old_level = @level @level = "silent" yield ensure @level = old_level end |
#trace(e, newline = nil, force = false) ⇒ Object
72 73 74 75 76 |
# File 'lib/bundler/ui/shell.rb', line 72 def trace(e, newline = nil, force = false) return unless debug? || force msg = "#{e.class}: #{e.}\n#{e.backtrace.join("\n ")}" tell_me(msg, nil, newline) end |
#warn(msg, newline = nil) ⇒ Object
28 29 30 31 32 |
# File 'lib/bundler/ui/shell.rb', line 28 def warn(msg, newline = nil) return if @warning_history.include? msg @warning_history << msg tell_me(msg, :yellow, newline) if level("warn") end |
#yes?(msg) ⇒ Boolean
55 56 57 |
# File 'lib/bundler/ui/shell.rb', line 55 def yes?(msg) @shell.yes?(msg) end |