# File lib/ansi/code.rb, line 287 def rgb(*args) case args.size when 1, 2 hex, background = *args esc = "\e[" + hex_code(hex, background) + "m" when 3, 4 red, green, blue, background = *args esc = "\e[" + rgb_code(red, green, blue, background) + "m" else raise ArgumentError end if block_given? return yield.to_s unless $ansi return "#{esc}#{yield}#{ENDCODE}" else return esc end end