class String

Public Instance Methods

skittle_color() click to toggle source
# File lib/skittlize.rb, line 23
def skittle_color
  n = Integer(Digest::MD5.hexdigest("#{self}\n")[-2..-1], 16)
  n %= 231
  n += 17 if [0, 15, 16].include?(n)
  n
end
skittlize(options = {}) click to toggle source
# File lib/skittlize.rb, line 30
def skittlize(options = {})
  check_options(options)

  if options[:split]
    split(options[:split]).map(&:skittlize).join(options[:join] || options[:split])
  else
    "\033[38;5;#{skittle_color}m#{self}\033[0m"
  end
end
skittlize!(options = {}) click to toggle source
# File lib/skittlize.rb, line 40
def skittlize!(options = {})
  replace(skittlize(options))
end

Private Instance Methods

check_options(options) click to toggle source
# File lib/skittlize.rb, line 46
def check_options(options)
  extra_options = options.keys - [:split, :join]

  raise "Unsupported options: #{extra_options}" if extra_options.any?
end