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