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.
137 138 139 140 141 |
# File 'lib/morpheus/logging.rb', line 137 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
118 119 120 |
# File 'lib/morpheus/logging.rb', line 118 def color @color end |
#io ⇒ Object
- IO
-
to write to
115 116 117 |
# File 'lib/morpheus/logging.rb', line 115 def io @io end |
Class Method Details
.<<(*messages) ⇒ Object
133 134 135 |
# File 'lib/morpheus/logging.rb', line 133 def self.<<(*) instance.<<(*) end |
.instance ⇒ Object
DarkPrinter with io STDOUT
121 122 123 |
# File 'lib/morpheus/logging.rb', line 121 def self.instance @instance ||= self.new(STDOUT, nil, true) end |
.print(*messages) ⇒ Object
125 126 127 |
# File 'lib/morpheus/logging.rb', line 125 def self.print(*) instance.print(*) end |
.puts(*messages) ⇒ Object
129 130 131 |
# File 'lib/morpheus/logging.rb', line 129 def self.puts(*) instance.puts(*) end |
Instance Method Details
#<<(*messages) ⇒ Object
179 180 181 |
# File 'lib/morpheus/logging.rb', line 179 def <<(*) print(*) end |
#print(*messages) ⇒ Object
159 160 161 162 163 164 165 166 167 |
# File 'lib/morpheus/logging.rb', line 159 def print(*) if @io print_with_color do .flatten.each do |msg| @io.print (msg) end end end end |
#print_with_color(&block) ⇒ Object
147 148 149 150 151 152 153 154 155 156 157 |
# File 'lib/morpheus/logging.rb', line 147 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
169 170 171 172 173 174 175 176 177 |
# File 'lib/morpheus/logging.rb', line 169 def puts(*) if @io print_with_color do .flatten.each do |msg| @io.puts (msg) end end end end |