# File lib/sass/script/functions.rb, line 637 def rgb(red, green, blue) if calc?(red) || calc?(green) || calc?(blue) return unquoted_string("rgb(#{red}, #{green}, #{blue})") end assert_type red, :Number, :red assert_type green, :Number, :green assert_type blue, :Number, :blue color_attrs = [red, green, blue].map do |c| if c.is_unit?("%") c.value * 255 / 100.0 elsif c.unitless? c.value else raise ArgumentError.new("Expected #{c} to be unitless or have a unit of % but got #{c}") end end # Don't store the string representation for function-created colors, both # because it's not very useful and because some functions aren't supported # on older browsers. Sass::Script::Value::Color.new(color_attrs) end