Module: ProxyRb::AnsiColor
- Included in:
- Colorizer
- Defined in:
- lib/proxy_rb/colorizer.rb
Overview
The ANSIColor module can be used for namespacing and mixed into your own classes.
Constant Summary collapse
- ATTRIBUTES =
:stopdoc:
[ [:clear, 0], [:reset, 0], # synonym for :clear [:bold, 1], [:dark, 2], [:italic, 3], # not widely implemented [:underline, 4], [:underscore, 4], # synonym for :underline [:blink, 5], [:rapid_blink, 6], # not widely implemented [:negative, 7], # no reverse because of String#reverse [:concealed, 8], [:strikethrough, 9], # not widely implemented [:black, 30], [:red, 31], [:green, 32], [:yellow, 33], [:blue, 34], [:magenta, 35], [:cyan, 36], [:white, 37], [:on_black, 40], [:on_red, 41], [:on_green, 42], [:on_yellow, 43], [:on_blue, 44], [:on_magenta, 45], [:on_cyan, 46], [:on_white, 47] ].freeze
- ATTRIBUTE_NAMES =
ATTRIBUTES.transpose.first
- COLORED_REGEXP =
Regular expression that is used to scan for ANSI-sequences while uncoloring strings.
/\e\[(?:[34][0-7]|[0-9])?m/
Class Method Summary collapse
-
.coloring=(val) ⇒ Object
Turns the coloring on or off globally, so you can easily do this for example: ProxyRb::Colorizer.coloring = STDOUT.isatty.
-
.coloring? ⇒ Boolean
Returns true, if the coloring function of this module is switched on, false otherwise.
- .included(klass) ⇒ Object
Instance Method Summary collapse
-
#attributes ⇒ Object
Returns an array of all ProxyRb::Platforms::AnsiColor attributes as symbols.
-
#uncolored(string = nil) ⇒ Object
Returns an uncolored version of the string, that is all ANSI-sequences are stripped from the string.
Class Method Details
.coloring=(val) ⇒ Object
51 52 53 |
# File 'lib/proxy_rb/colorizer.rb', line 51 def self.coloring=(val) @coloring = val end |
.coloring? ⇒ Boolean
Returns true, if the coloring function of this module is switched on, false otherwise.
44 45 46 |
# File 'lib/proxy_rb/colorizer.rb', line 44 def self.coloring? @coloring end |
.included(klass) ⇒ Object
79 80 81 82 83 84 |
# File 'lib/proxy_rb/colorizer.rb', line 79 def self.included(klass) if klass == String ATTRIBUTES.delete(:clear) ATTRIBUTE_NAMES.delete(:clear) end end |
Instance Method Details
#attributes ⇒ Object
Returns an array of all ProxyRb::Platforms::AnsiColor attributes as symbols.
101 102 103 |
# File 'lib/proxy_rb/colorizer.rb', line 101 def attributes ATTRIBUTE_NAMES end |
#uncolored(string = nil) ⇒ Object
Returns an uncolored version of the string, that is all ANSI-sequences are stripped from the string.
88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/proxy_rb/colorizer.rb', line 88 def uncolored(string = nil) # :yields: if block_given? yield.gsub(COLORED_REGEXP, '') elsif string string.gsub(COLORED_REGEXP, '') elsif respond_to?(:to_str) to_str.gsub(COLORED_REGEXP, '') else '' end end |