Class: Morpheus::Logging::DarkPrinter
- Inherits:
-
Object
- Object
- Morpheus::Logging::DarkPrinter
- Includes:
- Term::ANSIColor
- Defined in:
- lib/morpheus/logging.rb
Overview
An IO class for printing debugging info This is used as a proxy for ::RestClient.log printing right now.
Instance Attribute Summary collapse
-
#color ⇒ Object
- String
-
ansi color code for output.
-
#io ⇒ Object
- IO
-
to write to.
Class Method Summary collapse
- .<<(*messages) ⇒ Object
-
.instance ⇒ Object
DarkPrinter with io STDOUT.
- .print(*messages) ⇒ Object
- .puts(*messages) ⇒ Object
Instance Method Summary collapse
- #<<(*messages) ⇒ Object
-
#initialize(io, color = nil, is_dark = true) ⇒ DarkPrinter
constructor
A new instance of DarkPrinter.
- #print(*messages) ⇒ Object
- #print_with_color(&block) ⇒ Object
- #puts(*messages) ⇒ Object
- #scrub_message(msg) ⇒ Object
Constructor Details
#initialize(io, color = nil, is_dark = true) ⇒ DarkPrinter
Returns a new instance of DarkPrinter.
134 135 136 137 138 |
# File 'lib/morpheus/logging.rb', line 134 def initialize(io, color=nil, is_dark=true) @io = io # || $stdout @color = color # || cyan @is_dark = is_dark end |
Instance Attribute Details
#color ⇒ Object
- String
-
ansi color code for output. Default is dark
115 116 117 |
# File 'lib/morpheus/logging.rb', line 115 def color @color end |
#io ⇒ Object
- IO
-
to write to
112 113 114 |
# File 'lib/morpheus/logging.rb', line 112 def io @io end |
Class Method Details
.<<(*messages) ⇒ Object
130 131 132 |
# File 'lib/morpheus/logging.rb', line 130 def self.<<(*) instance.<<(*) end |
.instance ⇒ Object
DarkPrinter with io STDOUT
118 119 120 |
# File 'lib/morpheus/logging.rb', line 118 def self.instance @instance ||= self.new(STDOUT, nil, true) end |
.print(*messages) ⇒ Object
122 123 124 |
# File 'lib/morpheus/logging.rb', line 122 def self.print(*) instance.print(*) end |
.puts(*messages) ⇒ Object
126 127 128 |
# File 'lib/morpheus/logging.rb', line 126 def self.puts(*) instance.puts(*) end |
Instance Method Details
#<<(*messages) ⇒ Object
176 177 178 |
# File 'lib/morpheus/logging.rb', line 176 def <<(*) print(*) end |
#print(*messages) ⇒ Object
156 157 158 159 160 161 162 163 164 |
# File 'lib/morpheus/logging.rb', line 156 def print(*) if @io print_with_color do .flatten.each do |msg| @io.print (msg) end end end end |
#print_with_color(&block) ⇒ Object
144 145 146 147 148 149 150 151 152 153 154 |
# File 'lib/morpheus/logging.rb', line 144 def print_with_color(&block) if Term::ANSIColor.coloring? @io.print Term::ANSIColor.reset @io.print @color if @color @io.print Term::ANSIColor.dark if @is_dark end yield if Term::ANSIColor.coloring? @io.print Term::ANSIColor.reset end end |
#puts(*messages) ⇒ Object
166 167 168 169 170 171 172 173 174 |
# File 'lib/morpheus/logging.rb', line 166 def puts(*) if @io print_with_color do .flatten.each do |msg| @io.puts (msg) end end end end |