class Sass::Value::Color

def change(red: nil,

Returns:
  • (Color) -

Parameters:
  • alpha (Numeric) --
  • blackness (Numeric) --
  • whiteness (Numeric) --
  • lightness (Numeric) --
  • saturation (Numeric) --
  • hue (Numeric) --
  • blue (Numeric) --
  • green (Numeric) --
  • red (Numeric) --
def change(red: nil,
           green: nil,
           blue: nil,
           hue: nil,
           saturation: nil,
           lightness: nil,
           whiteness: nil,
           blackness: nil,
           alpha: nil)
  if whiteness || blackness
    Sass::Value::Color.new(hue: hue || self.hue,
                           whiteness: whiteness || self.whiteness,
                           blackness: blackness || self.blackness,
                           alpha: alpha || self.alpha)
  elsif hue || saturation || lightness
    Sass::Value::Color.new(hue: hue || self.hue,
                           saturation: saturation || self.saturation,
                           lightness: lightness || self.lightness,
                           alpha: alpha || self.alpha)
  elsif red || green || blue
    Sass::Value::Color.new(red: red ? FuzzyMath.round(red) : self.red,
                           green: green ? FuzzyMath.round(green) : self.green,
                           blue: blue ? FuzzyMath.round(blue) : self.blue,
                           alpha: alpha || self.alpha)
  else
    dup.instance_eval do
      @alpha = FuzzyMath.assert_between(alpha, 0, 1, 'alpha')
      self
    end
  end
end