class ANSI::Chain
ANSI::Chain
was inspired by Kazuyoshi Tlacaelel’s Isna library.
Attributes
Public Class Methods
Source
# File lib/ansi/chain.rb, line 10 def initialize(string) @string = string.to_s @codes = [] end
Public Instance Methods
Source
# File lib/ansi/chain.rb, line 22 def method_missing(s, *a, &b) if ANSI::CHART.key?(s) @codes << s self else super(s, *a, &b) end end
Calls superclass method
Source
# File lib/ansi/chain.rb, line 32 def to_s if codes.empty? result = @string else result = Code.ansi(@string, *codes) codes.clear end result end