Class: Overcommit::Logger
- Inherits:
-
Object
- Object
- Overcommit::Logger
- Defined in:
- lib/overcommit/logger.rb
Overview
Encapsulates all communication to an output source.
Class Method Summary collapse
-
.silent ⇒ Object
Helper for creating a logger which outputs nothing.
Instance Method Summary collapse
-
#bold(*args) ⇒ Object
Write a line of output that is intended to be emphasized.
-
#bold_error(*args) ⇒ Object
Write a line of output indicating a problem or error which is emphasized over a regular problem or error.
-
#bold_warning(*args) ⇒ Object
Write a line of output indicating a potential cause for concern, but with greater emphasize compared to other warnings.
-
#debug(*args) ⇒ Object
Write a line of output if debug mode is enabled.
-
#error(*args) ⇒ Object
Write a line of output indicating a problem or error.
-
#initialize(out) ⇒ Logger
constructor
Creates a logger that will write to the given output stream.
-
#log(*args) ⇒ Object
Write a line of output.
-
#newline ⇒ Object
Prints a newline character (alias for readability).
-
#partial(*args) ⇒ Object
Write output without a trailing newline.
-
#success(*args) ⇒ Object
Write a line of output indicating a successful or noteworthy event.
-
#warning(*args) ⇒ Object
Write a line of output indicating a potential cause for concern, but not an actual error.
Constructor Details
#initialize(out) ⇒ Logger
Creates a logger that will write to the given output stream.
12 13 14 15 16 17 18 19 20 |
# File 'lib/overcommit/logger.rb', line 12 def initialize(out) @out = out @colorize = if ENV.key?('OVERCOMMIT_COLOR') !%w[0 false no].include?(ENV['OVERCOMMIT_COLOR']) else @out.tty? end end |
Class Method Details
.silent ⇒ Object
Helper for creating a logger which outputs nothing.
5 6 7 |
# File 'lib/overcommit/logger.rb', line 5 def self.silent new(File.open(File::NULL, 'w')) end |
Instance Method Details
#bold(*args) ⇒ Object
Write a line of output that is intended to be emphasized.
45 46 47 |
# File 'lib/overcommit/logger.rb', line 45 def bold(*args) color('1', *args) end |
#bold_error(*args) ⇒ Object
Write a line of output indicating a problem or error which is emphasized over a regular problem or error.
56 57 58 |
# File 'lib/overcommit/logger.rb', line 56 def bold_error(*args) color('1;31', *args) end |
#bold_warning(*args) ⇒ Object
Write a line of output indicating a potential cause for concern, but with greater emphasize compared to other warnings.
73 74 75 |
# File 'lib/overcommit/logger.rb', line 73 def bold_warning(*args) color('1;33', *args) end |
#debug(*args) ⇒ Object
Write a line of output if debug mode is enabled.
40 41 42 |
# File 'lib/overcommit/logger.rb', line 40 def debug(*args) color('35', *args) unless ENV.fetch('OVERCOMMIT_DEBUG', '').empty? end |
#error(*args) ⇒ Object
Write a line of output indicating a problem or error.
50 51 52 |
# File 'lib/overcommit/logger.rb', line 50 def error(*args) color(31, *args) end |
#log(*args) ⇒ Object
Write a line of output.
A newline character will always be appended.
35 36 37 |
# File 'lib/overcommit/logger.rb', line 35 def log(*args) @out.puts(*args) end |
#newline ⇒ Object
Prints a newline character (alias for readability).
28 29 30 |
# File 'lib/overcommit/logger.rb', line 28 def newline log end |
#partial(*args) ⇒ Object
Write output without a trailing newline.
23 24 25 |
# File 'lib/overcommit/logger.rb', line 23 def partial(*args) @out.print(*args) end |
#success(*args) ⇒ Object
Write a line of output indicating a successful or noteworthy event.
61 62 63 |
# File 'lib/overcommit/logger.rb', line 61 def success(*args) color(32, *args) end |
#warning(*args) ⇒ Object
Write a line of output indicating a potential cause for concern, but not an actual error.
67 68 69 |
# File 'lib/overcommit/logger.rb', line 67 def warning(*args) color(33, *args) end |