Class: Grouik::Output::Messager
- Inherits:
-
Object
- Object
- Grouik::Output::Messager
- Defined in:
- src/lib/grouik/output/messager.rb
Overview
Provide a wrapper over Rainbow
Instance Attribute Summary collapse
-
#content ⇒ Object
Returns the value of attribute content.
-
#stream ⇒ Object
Returns the value of attribute stream.
Class Method Summary collapse
-
.formats ⇒ Hash
Defines available formats.
- .output(stream, type) ⇒ self
Instance Method Summary collapse
-
#colorizable? ⇒ Boolean
Denote output is colorizable (
tty?
). - #format_as(type) ⇒ Rainbow::Presenter, Rainbow::NullPresenter
-
#initialize(stream = STDOUT, content = nil) ⇒ Messager
constructor
A new instance of Messager.
- #output(type) ⇒ self
Constructor Details
#initialize(stream = STDOUT, content = nil) ⇒ Messager
Returns a new instance of Messager.
14 15 16 17 |
# File 'src/lib/grouik/output/messager.rb', line 14 def initialize(stream = STDOUT, content = nil) @stream = stream self.content = content end |
Instance Attribute Details
#content ⇒ Object
Returns the value of attribute content.
12 13 14 |
# File 'src/lib/grouik/output/messager.rb', line 12 def content @content end |
#stream ⇒ Object
Returns the value of attribute stream.
11 12 13 |
# File 'src/lib/grouik/output/messager.rb', line 11 def stream @stream end |
Class Method Details
.formats ⇒ Hash
Defines available formats
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'src/lib/grouik/output/messager.rb', line 40 def formats { status_success: { background: :green, color: :black, }, status_failure: { background: :red, color: :black, }, error: { color: :red, } } end |
.output(stream, type) ⇒ self
33 34 35 |
# File 'src/lib/grouik/output/messager.rb', line 33 def output(stream, type) self.new(stream, content).output(type) end |
Instance Method Details
#colorizable? ⇒ Boolean
Denote output is colorizable (tty?
)
64 65 66 |
# File 'src/lib/grouik/output/messager.rb', line 64 def colorizable? stream.tty? end |
#format_as(type) ⇒ Rainbow::Presenter, Rainbow::NullPresenter
59 60 61 |
# File 'src/lib/grouik/output/messager.rb', line 59 def format_as(type) colorize(self.class.formats[type.to_sym]) end |
#output(type) ⇒ self
TODO:
Catch NoMethodError
or similar error
25 26 27 28 29 |
# File 'src/lib/grouik/output/messager.rb', line 25 def output(type) stream.puts self.format_as(type) self end |