class ColorTag::TagProcess

Constants

ANSI_SEQUENCES

Sequences to be switched in input_string

CLEAR_ANSI

Clear all ANSI styling sequence

Public Class Methods

cputs(input_string) click to toggle source
# File lib/colortag.rb, line 21
def self.cputs input_string
    input_string = process_string input_string
    puts input_string
end

Private Class Methods

process_string(input_string) click to toggle source
# File lib/colortag.rb, line 28
def self.process_string input_string
    ANSI_SEQUENCES.each_pair do |cseq, ansi|
        cseq = cseq.to_s # symbol to string conversion
        c_index = input_string.index cseq
        if c_index
            input_string.slice! cseq
            input_string.insert c_index, ansi
            c_last_index = c_index
            c_index = input_string.index ">"
            if c_index
                input_string.slice! ">"
                input_string.insert c_index, CLEAR_ANSI
            else
                raise StandardError.new "

                TagProcess Escape sequence invalid!
                (Forgot to close TagProcess sequence?)
                AFTER INDEX [#{c_last_index}]
                "
            end
        end
    end
    return input_string
end