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



113
114
115
116
117
118
119
120
121
# File 'lib/colorize/class_methods.rb', line 113

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



132
133
134
# File 'lib/colorize/class_methods.rb', line 132

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

#add_color_method(key) ⇒ Object

Generate color and on_color method



157
158
159
160
161
162
163
164
165
# File 'lib/colorize/class_methods.rb', line 157

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



192
193
194
# File 'lib/colorize/class_methods.rb', line 192

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



199
200
201
# File 'lib/colorize/class_methods.rb', line 199

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

#color_codesObject

Color codes hash



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

def color_codes
  @@color_codes
end

#color_exist?(color) ⇒ Boolean



203
204
205
# File 'lib/colorize/class_methods.rb', line 203

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

#color_methodsObject

Generate color and on_color methods



146
147
148
149
150
151
152
# File 'lib/colorize/class_methods.rb', line 146

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

    add_color_method(key)
  end
end

#color_samplesObject

Display color samples



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

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



89
90
91
# File 'lib/colorize/class_methods.rb', line 89

def colors
  color_codes.keys
end

#disable_colorization(value = nil) ⇒ Object

Property for disable colorization



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

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



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

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

#mode_codesObject

Mode codes hash



139
140
141
# File 'lib/colorize/class_methods.rb', line 139

def mode_codes
  @@mode_codes
end

#modesObject

Return array of available modes used by colorize



96
97
98
# File 'lib/colorize/class_methods.rb', line 96

def modes
  mode_codes.keys
end

#modes_methodsObject

Generate modes methods



170
171
172
173
174
175
176
177
178
# File 'lib/colorize/class_methods.rb', line 170

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



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

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



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

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



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

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