# File lib/sass/script/functions.rb, line 693
    def rgba(*args)
      case args.size
      when 2
        color, alpha = args

        assert_type color, :Color, :color
        if calc?(alpha)
          unquoted_string("rgba(#{color.red}, #{color.green}, #{color.blue}, #{alpha})")
        else
          assert_type alpha, :Number, :alpha
          check_alpha_unit alpha, 'rgba'
          color.with(:alpha => alpha.value)
        end
      when 4
        red, green, blue, alpha = args
        if calc?(red) || calc?(green) || calc?(blue) || calc?(alpha)
          unquoted_string("rgba(#{red}, #{green}, #{blue}, #{alpha})")
        else
          rgba(rgb(red, green, blue), alpha)
        end
      else
        raise ArgumentError.new("wrong number of arguments (#{args.size} for 4)")
      end
    end