Class: RBS::CLI::ColoredIO
Relationships & Source Files | |
Inherits: | Object |
Defined in: | lib/rbs/cli/colored_io.rb |
Class Method Summary
- .new(stdout:) ⇒ ColoredIO constructor
Instance Attribute Summary
- #stdout readonly
- #are_colors_disabled? ⇒ Boolean readonly private
- #are_colors_supported? ⇒ Boolean readonly private
- #can_display_colors? ⇒ Boolean readonly private
Instance Method Summary
Constructor Details
.new(stdout:) ⇒ ColoredIO
# File 'lib/rbs/cli/colored_io.rb', line 8
def initialize(stdout:) @stdout = stdout end
Instance Attribute Details
#are_colors_disabled? ⇒ Boolean
(readonly, private)
[ GitHub ]
# File 'lib/rbs/cli/colored_io.rb', line 43
def are_colors_disabled? !ENV['NO_COLOR'].nil? && !ENV.fetch('NO_COLOR', '').empty? end
#are_colors_supported? ⇒ Boolean
(readonly, private)
[ GitHub ]
# File 'lib/rbs/cli/colored_io.rb', line 39
def are_colors_supported? stdout.tty? && ENV["TERM"] != "dumb" end
#can_display_colors? ⇒ Boolean
(readonly, private)
[ GitHub ]
# File 'lib/rbs/cli/colored_io.rb', line 35
def can_display_colors? are_colors_supported? && !are_colors_disabled? end
#stdout (readonly)
[ GitHub ]# File 'lib/rbs/cli/colored_io.rb', line 6
attr_reader :stdout
Instance Method Details
#puts
[ GitHub ]# File 'lib/rbs/cli/colored_io.rb', line 28
def puts(...) stdout.puts(...) end
#puts_green(string)
[ GitHub ]# File 'lib/rbs/cli/colored_io.rb', line 20
def puts_green(string) if can_display_colors? puts "\e[32m#{string}\e[m" else puts string end end
#puts_red(string)
[ GitHub ]# File 'lib/rbs/cli/colored_io.rb', line 12
def puts_red(string) if can_display_colors? puts "\e[31m#{string}\e[m" else puts string end end