class Rgb2Hex
Class with single class method which does convertion
Public Class Methods
convert(*vals)
click to toggle source
Produces a HEX value out of 3 ints
Example:
>> Rgb2Hex(0, 0, 0) => #000000
Arguments:
red: (Integer) green: (Integer) blue: (Integer)
# File lib/rgb2hex.rb, line 14 def self.convert(*vals) red = green = blue = 0 case vals.length when 0 #do nothing when 1 matched = vals[0].to_s.match( /.*?(-?\d+).*?(-?\d+).*?(-?\d+).*?/ ) red = matched[1].to_i green = matched[2].to_i blue = matched[3].to_i when 3 red = vals[0].to_s.match( /-?\d+/ )[0].to_i green = vals[1].to_s.match( /-?\d+/ )[0].to_i blue = vals[2].to_s.match( /-?\d+/ )[0].to_i else return "illegal number of input arguments" end actual_convertion(red, green, blue) end
Private Class Methods
actual_convertion(red = 0, green = 0, blue = 0)
click to toggle source
# File lib/rgb2hex.rb, line 38 def self.actual_convertion(red = 0, green = 0, blue = 0) raise ArgumentError, "input argument is less than 0", caller if [red, green, blue].min < 0 raise ArgumentError, "input argument is more than 255", caller if [red, green, blue].max > 255 "#" + ("%02x" % red) + ("%02x" % green) + ("%02x" % blue) end