Module: Colorize::ClassMethods

Included in:
ColorizedString, String
Defined in:
lib/colorize/class_methods.rb

Instance Method Summary collapse

Instance Method Details

#add_color_alias(*params) ⇒ Object

Add color alias



135
136
137
138
139
140
141
142
143
# File 'lib/colorize/class_methods.rb', line 135

def add_color_alias(*params)
  parse_color_alias_params(params).each do |_alias_, _color_|
    check_if_color_available!(_alias_)
    check_if_color_exist!(_color_)

    add_color_code(_alias_, color_codes[_color_])
    add_color_method(_alias_)
  end
end

#add_color_code(code, color) ⇒ Object



154
155
156
# File 'lib/colorize/class_methods.rb', line 154

def add_color_code(code, color)
  @@color_codes[code] = color
end

#add_color_method(key) ⇒ Object

Generate color and on_color method



179
180
181
182
183
184
185
186
187
# File 'lib/colorize/class_methods.rb', line 179

def add_color_method(key)
  define_method key do
    colorize(:color => key)
  end

  define_method "on_#{key}" do
    colorize(:background => key)
  end
end

#check_if_color_available!(color) ⇒ Object

Check if color exists



214
215
216
# File 'lib/colorize/class_methods.rb', line 214

def check_if_color_available!(color)
  color_exist?(color) && fail(::Colorize::ColorAlreadyExist, "Colorize: color named :#{color} already exist!")
end

#check_if_color_exist!(color) ⇒ Object

Check if color is missing



221
222
223
# File 'lib/colorize/class_methods.rb', line 221

def check_if_color_exist!(color)
  color_exist?(color) || fail(::Colorize::ColorDontExist, "Colorize: color :#{color} don't exist!")
end

#color_codesObject

Color codes hash



150
151
152
# File 'lib/colorize/class_methods.rb', line 150

def color_codes
  @@color_codes
end

#color_exist?(color) ⇒ Boolean

Returns:

  • (Boolean)


225
226
227
# File 'lib/colorize/class_methods.rb', line 225

def color_exist?(color)
  !color_codes[color].nil?
end

#color_methodsObject

Generate color and on_color methods



168
169
170
171
172
173
174
# File 'lib/colorize/class_methods.rb', line 168

def color_methods
  colors.each do |key|
    next if key == :default

    add_color_method(key)
  end
end

#color_samplesObject

Display color samples



125
126
127
128
129
130
# File 'lib/colorize/class_methods.rb', line 125

def color_samples
  colors.permutation(2).each do |background, color|
    sample_text = "#{color.inspect.rjust(15)} on #{background.inspect.ljust(15)}"
    puts "#{new(sample_text).colorize(:color => color, :background => background)} #{sample_text}"
  end
end

#colorsObject

Return array of available colors used by colorize



111
112
113
# File 'lib/colorize/class_methods.rb', line 111

def colors
  color_codes.keys
end

#disable_colorization(value = nil) ⇒ Object

Property for disable colorization



67
68
69
70
71
72
73
74
75
76
77
# File 'lib/colorize/class_methods.rb', line 67

def disable_colorization(value = nil)
  if value.nil?
    if defined?(@@disable_colorization)
      @@disable_colorization || false
    else
      false
    end
  else
    @@disable_colorization = (value || false)
  end
end

#disable_colorization=(value) ⇒ Object

Setter for disable colorization



82
83
84
# File 'lib/colorize/class_methods.rb', line 82

def disable_colorization=(value)
  @@disable_colorization = (value || false)
end

#enable_readline_support(value = nil) ⇒ Object

Property for readline support



45
46
47
48
49
50
51
52
53
54
55
# File 'lib/colorize/class_methods.rb', line 45

def enable_readline_support(value = nil)
  if value.nil?
    if defined?(@@readline_support)
      @@readline_support || false
    else
      false
    end
  else
    @@readline_support = (value || false)
  end
end

#enable_readline_support=(value) ⇒ Object

Setter for enable readline support



60
61
62
# File 'lib/colorize/class_methods.rb', line 60

def enable_readline_support=(value)
  @@readline_support = (value || false)
end

#mode_codesObject

Mode codes hash



161
162
163
# File 'lib/colorize/class_methods.rb', line 161

def mode_codes
  @@mode_codes
end

#modesObject

Return array of available modes used by colorize



118
119
120
# File 'lib/colorize/class_methods.rb', line 118

def modes
  mode_codes.keys
end

#modes_methodsObject

Generate modes methods



192
193
194
195
196
197
198
199
200
# File 'lib/colorize/class_methods.rb', line 192

def modes_methods
  modes.each do |key|
    next if key == :default

    define_method key do
      colorize(:mode => key)
    end
  end
end

#parse_color_alias_params(params) ⇒ Object



202
203
204
205
206
207
208
209
# File 'lib/colorize/class_methods.rb', line 202

def parse_color_alias_params(params)
  return [params] if params.is_a?(Array) && params.length == 2

  params.flat_map do |param|
    next param if param.is_a?(Array) && param.length == 2
    next param.to_a if param.is_a?(Hash)
  end
end

#prevent_colors(value = nil) ⇒ Object

Property for prevent recolorization



89
90
91
92
93
94
95
96
97
98
99
# File 'lib/colorize/class_methods.rb', line 89

def prevent_colors(value = nil)
  if value.nil?
    if defined?(@@prevent_colors)
      @@prevent_colors || false
    else
      false
    end
  else
    @@prevent_colors = (value || false)
  end
end

#prevent_colors=(value) ⇒ Object

Setter for prevent recolorization



104
105
106
# File 'lib/colorize/class_methods.rb', line 104

def prevent_colors=(value)
  @@prevent_colors = (value || false)
end