sass 3.3.2 → 3.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0fe659bdbeee8744bbec5d6cffcd6ef954c4b167
4
- data.tar.gz: 7e56e19609238fae7a593ee4d94fdb4e6355d673
3
+ metadata.gz: 3b1f65147a1c8475b358cc3769c042b4e61b3973
4
+ data.tar.gz: 8bef79f9df38193e0891505f82f1d523d6229383
5
5
  SHA512:
6
- metadata.gz: 3a70b294c6b3a677269d507d136c8bc0ba84a474f33ad4a7df9f2a997b575d7a19a63786201182f18d8336e1a654ef09ea3201e17c96f7cccd1e9c57b0a29ab3
7
- data.tar.gz: e04c745d1700a87f822300cddbe4f958ce9b39c93d64795cab50b603f93f6d5c78728caf603f12a72e73fe30f0c76316fc63ce992e50700c5e6a8f2561fe341f
6
+ metadata.gz: fbb1fa87bbd19535fcf56757318b75946833c85b1bf17caced90dddbad38ae0e6738c0e9b8d5480942f8a0e8a8014f9f40b4814a47fac6312ddc8b361da4b3db
7
+ data.tar.gz: 21b79150a581f91e5d92161cb41a85b85ae35ee45e3750034c23a85ae046f6c50d5d8b084eafa68d328588ebcdb2e1253878bbfcb7fa74f9367e5bbc6c190b5a
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.3.2
1
+ 3.3.3
@@ -1 +1 @@
1
- 11 March 2014 21:43:52 UTC
1
+ 14 March 2014 23:31:57 UTC
@@ -1,6 +1,9 @@
1
1
  require 'sass/script/value/helpers'
2
2
 
3
3
  module Sass::Script
4
+ # @comment
5
+ # YARD can't handle some multiline tags, and we need really long tags for function declarations.
6
+ # rubocop:disable LineLength
4
7
  # Methods in this module are accessible from the SassScript context.
5
8
  # For example, you can write
6
9
  #
@@ -93,16 +96,13 @@ module Sass::Script
93
96
  #
94
97
  # ## Other Color Functions
95
98
  #
96
- # \{#adjust_color adjust-color($color, \[$red\], \[$green\], \[$blue\],
97
- # \[$hue\], \[$saturation\], \[$lightness\], \[$alpha\])}
99
+ # \{#adjust_color adjust-color($color, \[$red\], \[$green\], \[$blue\], \[$hue\], \[$saturation\], \[$lightness\], \[$alpha\])}
98
100
  # : Increases or decreases one or more components of a color.
99
101
  #
100
- # \{#scale_color scale-color($color, \[$red\], \[$green\], \[$blue\],
101
- # \[$saturation\], \[$lightness\], \[$alpha\])}
102
+ # \{#scale_color scale-color($color, \[$red\], \[$green\], \[$blue\], \[$saturation\], \[$lightness\], \[$alpha\])}
102
103
  # : Fluidly scales one or more properties of a color.
103
104
  #
104
- # \{#change_color change-color($color, \[$red\], \[$green\], \[$blue\],
105
- # \[$hue\], \[$saturation\], \[$lightness\], \[$alpha\])}
105
+ # \{#change_color change-color($color, \[$red\], \[$green\], \[$blue\], \[$hue\], \[$saturation\], \[$lightness\], \[$alpha\])}
106
106
  # : Changes one or more properties of a color.
107
107
  #
108
108
  # \{#ie_hex_str ie-hex-str($color)}
@@ -302,6 +302,9 @@ module Sass::Script
302
302
  # safe to call {Value::Base#to_s #to_s} (or other methods that use the string
303
303
  # representation) on those objects without first setting {Tree::Node#options=
304
304
  # the #options attribute}.
305
+ #
306
+ # @comment
307
+ # rubocop:enable LineLength
305
308
  module Functions
306
309
  @signatures = {}
307
310
 
@@ -565,15 +568,15 @@ module Sass::Script
565
568
  #
566
569
  # @see #rgba
567
570
  # @overload rgb($red, $green, $blue)
568
- # @param $red [Sass::Script::Value::Number] The amount of red in the color.
569
- # Must be between 0 and 255 inclusive, or between `0%` and `100%`
570
- # inclusive
571
- # @param $green [Sass::Script::Value::Number] The amount of green in the
572
- # color. Must be between 0 and 255 inclusive, or between `0%` and `100%`
573
- # inclusive
574
- # @param $blue [Sass::Script::Value::Number] The amount of blue in the
575
- # color. Must be between 0 and 255 inclusive, or between `0%` and `100%`
576
- # inclusive
571
+ # @param $red [Sass::Script::Value::Number] The amount of red in the color.
572
+ # Must be between 0 and 255 inclusive, or between `0%` and `100%`
573
+ # inclusive
574
+ # @param $green [Sass::Script::Value::Number] The amount of green in the
575
+ # color. Must be between 0 and 255 inclusive, or between `0%` and `100%`
576
+ # inclusive
577
+ # @param $blue [Sass::Script::Value::Number] The amount of blue in the
578
+ # color. Must be between 0 and 255 inclusive, or between `0%` and `100%`
579
+ # inclusive
577
580
  # @return [Sass::Script::Value::Color]
578
581
  # @raise [ArgumentError] if any parameter is the wrong type or out of bounds
579
582
  def rgb(red, green, blue)
@@ -653,12 +656,12 @@ module Sass::Script
653
656
  #
654
657
  # @see #hsla
655
658
  # @overload hsl($hue, $saturation, $lightness)
656
- # @param $hue [Sass::Script::Value::Number] The hue of the color. Should be
657
- # between 0 and 360 degrees, inclusive
658
- # @param $saturation [Sass::Script::Value::Number] The saturation of the
659
- # color. Must be between `0%` and `100%`, inclusive
660
- # @param $lightness [Sass::Script::Value::Number] The lightness of the
661
- # color. Must be between `0%` and `100%`, inclusive
659
+ # @param $hue [Sass::Script::Value::Number] The hue of the color. Should be
660
+ # between 0 and 360 degrees, inclusive
661
+ # @param $saturation [Sass::Script::Value::Number] The saturation of the
662
+ # color. Must be between `0%` and `100%`, inclusive
663
+ # @param $lightness [Sass::Script::Value::Number] The lightness of the
664
+ # color. Must be between `0%` and `100%`, inclusive
662
665
  # @return [Sass::Script::Value::Color]
663
666
  # @raise [ArgumentError] if `$saturation` or `$lightness` are out of bounds
664
667
  # or any parameter is the wrong type
@@ -675,14 +678,14 @@ module Sass::Script
675
678
  #
676
679
  # @see #hsl
677
680
  # @overload hsla($hue, $saturation, $lightness, $alpha)
678
- # @param $hue [Sass::Script::Value::Number] The hue of the color. Should be
679
- # between 0 and 360 degrees, inclusive
680
- # @param $saturation [Sass::Script::Value::Number] The saturation of the
681
- # color. Must be between `0%` and `100%`, inclusive
682
- # @param $lightness [Sass::Script::Value::Number] The lightness of the
683
- # color. Must be between `0%` and `100%`, inclusive
684
- # @param $alpha [Sass::Script::Value::Number] The opacity of the color. Must
685
- # be between 0 and 1, inclusive
681
+ # @param $hue [Sass::Script::Value::Number] The hue of the color. Should be
682
+ # between 0 and 360 degrees, inclusive
683
+ # @param $saturation [Sass::Script::Value::Number] The saturation of the
684
+ # color. Must be between `0%` and `100%`, inclusive
685
+ # @param $lightness [Sass::Script::Value::Number] The lightness of the
686
+ # color. Must be between `0%` and `100%`, inclusive
687
+ # @param $alpha [Sass::Script::Value::Number] The opacity of the color. Must
688
+ # be between 0 and 1, inclusive
686
689
  # @return [Sass::Script::Value::Color]
687
690
  # @raise [ArgumentError] if `$saturation`, `$lightness`, or `$alpha` are out
688
691
  # of bounds or any parameter is the wrong type
@@ -709,7 +712,7 @@ module Sass::Script
709
712
  # [hsl-to-rgb]: http://www.w3.org/TR/css3-color/#hsl-color
710
713
  #
711
714
  # @overload red($color)
712
- # @param $color [Sass::Script::Value::Color]
715
+ # @param $color [Sass::Script::Value::Color]
713
716
  # @return [Sass::Script::Value::Number] The red component, between 0 and 255
714
717
  # inclusive
715
718
  # @raise [ArgumentError] if `$color` isn't a color
@@ -725,7 +728,7 @@ module Sass::Script
725
728
  # [hsl-to-rgb]: http://www.w3.org/TR/css3-color/#hsl-color
726
729
  #
727
730
  # @overload green($color)
728
- # @param $color [Sass::Script::Value::Color]
731
+ # @param $color [Sass::Script::Value::Color]
729
732
  # @return [Sass::Script::Value::Number] The green component, between 0 and
730
733
  # 255 inclusive
731
734
  # @raise [ArgumentError] if `$color` isn't a color
@@ -741,7 +744,7 @@ module Sass::Script
741
744
  # [hsl-to-rgb]: http://www.w3.org/TR/css3-color/#hsl-color
742
745
  #
743
746
  # @overload blue($color)
744
- # @param $color [Sass::Script::Value::Color]
747
+ # @param $color [Sass::Script::Value::Color]
745
748
  # @return [Sass::Script::Value::Number] The blue component, between 0 and
746
749
  # 255 inclusive
747
750
  # @raise [ArgumentError] if `$color` isn't a color
@@ -759,7 +762,7 @@ module Sass::Script
759
762
  # [rgb-to-hsl]: http://en.wikipedia.org/wiki/HSL_and_HSV#Conversion_from_RGB_to_HSL_or_HSV
760
763
  #
761
764
  # @overload hue($color)
762
- # @param $color [Sass::Script::Value::Color]
765
+ # @param $color [Sass::Script::Value::Color]
763
766
  # @return [Sass::Script::Value::Number] The hue component, between 0deg and
764
767
  # 360deg
765
768
  # @raise [ArgumentError] if `$color` isn't a color
@@ -777,7 +780,7 @@ module Sass::Script
777
780
  # [rgb-to-hsl]: http://en.wikipedia.org/wiki/HSL_and_HSV#Conversion_from_RGB_to_HSL_or_HSV
778
781
  #
779
782
  # @overload saturation($color)
780
- # @param $color [Sass::Script::Value::Color]
783
+ # @param $color [Sass::Script::Value::Color]
781
784
  # @return [Sass::Script::Value::Number] The saturation component, between 0%
782
785
  # and 100%
783
786
  # @raise [ArgumentError] if `$color` isn't a color
@@ -795,7 +798,7 @@ module Sass::Script
795
798
  # [rgb-to-hsl]: http://en.wikipedia.org/wiki/HSL_and_HSV#Conversion_from_RGB_to_HSL_or_HSV
796
799
  #
797
800
  # @overload lightness($color)
798
- # @param $color [Sass::Script::Value::Color]
801
+ # @param $color [Sass::Script::Value::Color]
799
802
  # @return [Sass::Script::Value::Number] The lightness component, between 0%
800
803
  # and 100%
801
804
  # @raise [ArgumentError] if `$color` isn't a color
@@ -812,7 +815,7 @@ module Sass::Script
812
815
  # syntax as a special case.
813
816
  #
814
817
  # @overload alpha($color)
815
- # @param $color [Sass::Script::Value::Color]
818
+ # @param $color [Sass::Script::Value::Color]
816
819
  # @return [Sass::Script::Value::Number] The alpha component, between 0 and 1
817
820
  # @raise [ArgumentError] if `$color` isn't a color
818
821
  def alpha(*args)
@@ -835,7 +838,7 @@ module Sass::Script
835
838
  # otherwise specified.
836
839
  #
837
840
  # @overload opacity($color)
838
- # @param $color [Sass::Script::Value::Color]
841
+ # @param $color [Sass::Script::Value::Color]
839
842
  # @return [Sass::Script::Value::Number] The alpha component, between 0 and 1
840
843
  # @raise [ArgumentError] if `$color` isn't a color
841
844
  def opacity(color)
@@ -855,9 +858,9 @@ module Sass::Script
855
858
  # opacify(rgba(0, 0, 0, 0.5), 0.1) => rgba(0, 0, 0, 0.6)
856
859
  # opacify(rgba(0, 0, 17, 0.8), 0.2) => #001
857
860
  # @overload opacify($color, $amount)
858
- # @param $color [Sass::Script::Value::Color]
859
- # @param $amount [Sass::Script::Value::Number] The amount to increase the
860
- # opacity by, between 0 and 1
861
+ # @param $color [Sass::Script::Value::Color]
862
+ # @param $amount [Sass::Script::Value::Number] The amount to increase the
863
+ # opacity by, between 0 and 1
861
864
  # @return [Sass::Script::Value::Color]
862
865
  # @raise [ArgumentError] if `$amount` is out of bounds, or either parameter
863
866
  # is the wrong type
@@ -877,9 +880,9 @@ module Sass::Script
877
880
  # transparentize(rgba(0, 0, 0, 0.5), 0.1) => rgba(0, 0, 0, 0.4)
878
881
  # transparentize(rgba(0, 0, 0, 0.8), 0.2) => rgba(0, 0, 0, 0.6)
879
882
  # @overload transparentize($color, $amount)
880
- # @param $color [Sass::Script::Value::Color]
881
- # @param $amount [Sass::Script::Value::Number] The amount to decrease the
882
- # opacity by, between 0 and 1
883
+ # @param $color [Sass::Script::Value::Color]
884
+ # @param $amount [Sass::Script::Value::Number] The amount to decrease the
885
+ # opacity by, between 0 and 1
883
886
  # @return [Sass::Script::Value::Color]
884
887
  # @raise [ArgumentError] if `$amount` is out of bounds, or either parameter
885
888
  # is the wrong type
@@ -899,9 +902,9 @@ module Sass::Script
899
902
  # lighten(hsl(0, 0%, 0%), 30%) => hsl(0, 0, 30)
900
903
  # lighten(#800, 20%) => #e00
901
904
  # @overload lighten($color, $amount)
902
- # @param $color [Sass::Script::Value::Color]
903
- # @param $amount [Sass::Script::Value::Number] The amount to increase the
904
- # lightness by, between `0%` and `100%`
905
+ # @param $color [Sass::Script::Value::Color]
906
+ # @param $amount [Sass::Script::Value::Number] The amount to increase the
907
+ # lightness by, between `0%` and `100%`
905
908
  # @return [Sass::Script::Value::Color]
906
909
  # @raise [ArgumentError] if `$amount` is out of bounds, or either parameter
907
910
  # is the wrong type
@@ -918,9 +921,9 @@ module Sass::Script
918
921
  # darken(hsl(25, 100%, 80%), 30%) => hsl(25, 100%, 50%)
919
922
  # darken(#800, 20%) => #200
920
923
  # @overload darken($color, $amount)
921
- # @param $color [Sass::Script::Value::Color]
922
- # @param $amount [Sass::Script::Value::Number] The amount to dencrease the
923
- # lightness by, between `0%` and `100%`
924
+ # @param $color [Sass::Script::Value::Color]
925
+ # @param $amount [Sass::Script::Value::Number] The amount to dencrease the
926
+ # lightness by, between `0%` and `100%`
924
927
  # @return [Sass::Script::Value::Color]
925
928
  # @raise [ArgumentError] if `$amount` is out of bounds, or either parameter
926
929
  # is the wrong type
@@ -937,9 +940,9 @@ module Sass::Script
937
940
  # saturate(hsl(120, 30%, 90%), 20%) => hsl(120, 50%, 90%)
938
941
  # saturate(#855, 20%) => #9e3f3f
939
942
  # @overload saturate($color, $amount)
940
- # @param $color [Sass::Script::Value::Color]
941
- # @param $amount [Sass::Script::Value::Number] The amount to increase the
942
- # saturation by, between `0%` and `100%`
943
+ # @param $color [Sass::Script::Value::Color]
944
+ # @param $amount [Sass::Script::Value::Number] The amount to increase the
945
+ # saturation by, between `0%` and `100%`
943
946
  # @return [Sass::Script::Value::Color]
944
947
  # @raise [ArgumentError] if `$amount` is out of bounds, or either parameter
945
948
  # is the wrong type
@@ -960,9 +963,9 @@ module Sass::Script
960
963
  # desaturate(hsl(120, 30%, 90%), 20%) => hsl(120, 10%, 90%)
961
964
  # desaturate(#855, 20%) => #726b6b
962
965
  # @overload desaturate($color, $amount)
963
- # @param $color [Sass::Script::Value::Color]
964
- # @param $amount [Sass::Script::Value::Number] The amount to decrease the
965
- # saturation by, between `0%` and `100%`
966
+ # @param $color [Sass::Script::Value::Color]
967
+ # @param $amount [Sass::Script::Value::Number] The amount to decrease the
968
+ # saturation by, between `0%` and `100%`
966
969
  # @return [Sass::Script::Value::Color]
967
970
  # @raise [ArgumentError] if `$amount` is out of bounds, or either parameter
968
971
  # is the wrong type
@@ -980,9 +983,9 @@ module Sass::Script
980
983
  # adjust-hue(hsl(120, 30%, 90%), 060deg) => hsl(60, 30%, 90%)
981
984
  # adjust-hue(#811, 45deg) => #886a11
982
985
  # @overload adjust_hue($color, $degrees)
983
- # @param $color [Sass::Script::Value::Color]
984
- # @param $degrees [Sass::Script::Value::Number] The number of degrees to
985
- # rotate the hue
986
+ # @param $color [Sass::Script::Value::Color]
987
+ # @param $degrees [Sass::Script::Value::Number] The number of degrees to
988
+ # rotate the hue
986
989
  # @return [Sass::Script::Value::Color]
987
990
  # @raise [ArgumentError] if either parameter is the wrong type
988
991
  def adjust_hue(color, degrees)
@@ -999,7 +1002,7 @@ module Sass::Script
999
1002
  # ie-hex-str(#3322BB) => #FF3322BB
1000
1003
  # ie-hex-str(rgba(0, 255, 0, 0.5)) => #8000FF00
1001
1004
  # @overload ie_hex_str($color)
1002
- # @param $color [Sass::Script::Value::Color]
1005
+ # @param $color [Sass::Script::Value::Color]
1003
1006
  # @return [Sass::Script::Value::String] The IE-formatted string
1004
1007
  # representation of the color
1005
1008
  # @raise [ArgumentError] if `$color` isn't a color
@@ -1023,23 +1026,26 @@ module Sass::Script
1023
1026
  # adjust-color(#102030, $blue: 5) => #102035
1024
1027
  # adjust-color(#102030, $red: -5, $blue: 5) => #0b2035
1025
1028
  # adjust-color(hsl(25, 100%, 80%), $lightness: -30%, $alpha: -0.4) => hsla(25, 100%, 50%, 0.6)
1026
- # @overload adjust_color($color, [$red], [$green], [$blue],
1027
- # [$hue], [$saturation], [$lightness], [$alpha])
1028
- # @param $color [Sass::Script::Value::Color]
1029
- # @param $red [Sass::Script::Value::Number] The adjustment to make on the
1030
- # red component, between -255 and 255 inclusive
1031
- # @param $green [Sass::Script::Value::Number] The adjustment to make on the
1032
- # green component, between -255 and 255 inclusive
1033
- # @param $blue [Sass::Script::Value::Number] The adjustment to make on the
1034
- # blue component, between -255 and 255 inclusive
1035
- # @param $hue [Sass::Script::Value::Number] The adjustment to make on the
1036
- # hue component, in degrees
1037
- # @param $saturation [Sass::Script::Value::Number] The adjustment to make on
1038
- # the saturation component, between `-100%` and `100%` inclusive
1039
- # @param $lightness [Sass::Script::Value::Number] The adjustment to make on
1040
- # the lightness component, between `-100%` and `100%` inclusive
1041
- # @param $alpha [Sass::Script::Value::Number] The adjustment to make on the
1042
- # alpha component, between -1 and 1 inclusive
1029
+ # @comment
1030
+ # rubocop:disable LineLength
1031
+ # @overload adjust_color($color, [$red], [$green], [$blue], [$hue], [$saturation], [$lightness], [$alpha])
1032
+ # @comment
1033
+ # rubocop:disable LineLength
1034
+ # @param $color [Sass::Script::Value::Color]
1035
+ # @param $red [Sass::Script::Value::Number] The adjustment to make on the
1036
+ # red component, between -255 and 255 inclusive
1037
+ # @param $green [Sass::Script::Value::Number] The adjustment to make on the
1038
+ # green component, between -255 and 255 inclusive
1039
+ # @param $blue [Sass::Script::Value::Number] The adjustment to make on the
1040
+ # blue component, between -255 and 255 inclusive
1041
+ # @param $hue [Sass::Script::Value::Number] The adjustment to make on the
1042
+ # hue component, in degrees
1043
+ # @param $saturation [Sass::Script::Value::Number] The adjustment to make on
1044
+ # the saturation component, between `-100%` and `100%` inclusive
1045
+ # @param $lightness [Sass::Script::Value::Number] The adjustment to make on
1046
+ # the lightness component, between `-100%` and `100%` inclusive
1047
+ # @param $alpha [Sass::Script::Value::Number] The adjustment to make on the
1048
+ # alpha component, between -1 and 1 inclusive
1043
1049
  # @return [Sass::Script::Value::Color]
1044
1050
  # @raise [ArgumentError] if any parameter is the wrong type or out-of
1045
1051
  # bounds, or if RGB properties and HSL properties are adjusted at the
@@ -1101,15 +1107,18 @@ module Sass::Script
1101
1107
  # scale-color(hsl(120, 70%, 80%), $lightness: 50%) => hsl(120, 70%, 90%)
1102
1108
  # scale-color(rgb(200, 150%, 170%), $green: -40%, $blue: 70%) => rgb(200, 90, 229)
1103
1109
  # scale-color(hsl(200, 70%, 80%), $saturation: -90%, $alpha: -30%) => hsla(200, 7%, 80%, 0.7)
1104
- # @overload scale_color($color, [$red], [$green], [$blue],
1105
- # [$saturation], [$lightness], [$alpha])
1106
- # @param $color [Sass::Script::Value::Color]
1107
- # @param $red [Sass::Script::Value::Number]
1108
- # @param $green [Sass::Script::Value::Number]
1109
- # @param $blue [Sass::Script::Value::Number]
1110
- # @param $saturation [Sass::Script::Value::Number]
1111
- # @param $lightness [Sass::Script::Value::Number]
1112
- # @param $alpha [Sass::Script::Value::Number]
1110
+ # @comment
1111
+ # rubocop:disable LineLength
1112
+ # @overload scale_color($color, [$red], [$green], [$blue], [$saturation], [$lightness], [$alpha])
1113
+ # @comment
1114
+ # rubocop:disable LineLength
1115
+ # @param $color [Sass::Script::Value::Color]
1116
+ # @param $red [Sass::Script::Value::Number]
1117
+ # @param $green [Sass::Script::Value::Number]
1118
+ # @param $blue [Sass::Script::Value::Number]
1119
+ # @param $saturation [Sass::Script::Value::Number]
1120
+ # @param $lightness [Sass::Script::Value::Number]
1121
+ # @param $alpha [Sass::Script::Value::Number]
1113
1122
  # @return [Sass::Script::Value::Color]
1114
1123
  # @raise [ArgumentError] if any parameter is the wrong type or out-of
1115
1124
  # bounds, or if RGB properties and HSL properties are adjusted at the
@@ -1159,23 +1168,26 @@ module Sass::Script
1159
1168
  # change-color(#102030, $blue: 5) => #102005
1160
1169
  # change-color(#102030, $red: 120, $blue: 5) => #782005
1161
1170
  # change-color(hsl(25, 100%, 80%), $lightness: 40%, $alpha: 0.8) => hsla(25, 100%, 40%, 0.8)
1162
- # @overload change_color($color, [$red], [$green], [$blue], [$hue],
1163
- # [$saturation], [$lightness], [$alpha])
1164
- # @param $color [Sass::Script::Value::Color]
1165
- # @param $red [Sass::Script::Value::Number] The new red component for the
1166
- # color, within 0 and 255 inclusive
1167
- # @param $green [Sass::Script::Value::Number] The new green component for
1168
- # the color, within 0 and 255 inclusive
1169
- # @param $blue [Sass::Script::Value::Number] The new blue component for the
1170
- # color, within 0 and 255 inclusive
1171
- # @param $hue [Sass::Script::Value::Number] The new hue component for the
1172
- # color, in degrees
1173
- # @param $saturation [Sass::Script::Value::Number] The new saturation
1174
- # component for the color, between `0%` and `100%` inclusive
1175
- # @param $lightness [Sass::Script::Value::Number] The new lightness
1176
- # component for the color, within `0%` and `100%` inclusive
1177
- # @param $alpha [Sass::Script::Value::Number] The new alpha component for
1178
- # the color, within 0 and 1 inclusive
1171
+ # @comment
1172
+ # rubocop:disable LineLength
1173
+ # @overload change_color($color, [$red], [$green], [$blue], [$hue], [$saturation], [$lightness], [$alpha])
1174
+ # @comment
1175
+ # rubocop:disable LineLength
1176
+ # @param $color [Sass::Script::Value::Color]
1177
+ # @param $red [Sass::Script::Value::Number] The new red component for the
1178
+ # color, within 0 and 255 inclusive
1179
+ # @param $green [Sass::Script::Value::Number] The new green component for
1180
+ # the color, within 0 and 255 inclusive
1181
+ # @param $blue [Sass::Script::Value::Number] The new blue component for the
1182
+ # color, within 0 and 255 inclusive
1183
+ # @param $hue [Sass::Script::Value::Number] The new hue component for the
1184
+ # color, in degrees
1185
+ # @param $saturation [Sass::Script::Value::Number] The new saturation
1186
+ # component for the color, between `0%` and `100%` inclusive
1187
+ # @param $lightness [Sass::Script::Value::Number] The new lightness
1188
+ # component for the color, within `0%` and `100%` inclusive
1189
+ # @param $alpha [Sass::Script::Value::Number] The new alpha component for
1190
+ # the color, within 0 and 1 inclusive
1179
1191
  # @return [Sass::Script::Value::Color]
1180
1192
  # @raise [ArgumentError] if any parameter is the wrong type or out-of
1181
1193
  # bounds, or if RGB properties and HSL properties are adjusted at the
@@ -1212,11 +1224,11 @@ module Sass::Script
1212
1224
  # mix(#f00, #00f, 25%) => #3f00bf
1213
1225
  # mix(rgba(255, 0, 0, 0.5), #00f) => rgba(63, 0, 191, 0.75)
1214
1226
  # @overload mix($color1, $color2, $weight: 50%)
1215
- # @param $color1 [Sass::Script::Value::Color]
1216
- # @param $color2 [Sass::Script::Value::Color]
1217
- # @param $weight [Sass::Script::Value::Number] The relative weight of each
1218
- # color. Closer to `0%` gives more weight to `$color`, closer to `100%`
1219
- # gives more weight to `$color2`
1227
+ # @param $color1 [Sass::Script::Value::Color]
1228
+ # @param $color2 [Sass::Script::Value::Color]
1229
+ # @param $weight [Sass::Script::Value::Number] The relative weight of each
1230
+ # color. Closer to `0%` gives more weight to `$color`, closer to `100%`
1231
+ # gives more weight to `$color2`
1220
1232
  # @return [Sass::Script::Value::Color]
1221
1233
  # @raise [ArgumentError] if `$weight` is out of bounds or any parameter is
1222
1234
  # the wrong type
@@ -1265,7 +1277,7 @@ module Sass::Script
1265
1277
  #
1266
1278
  # @see #desaturate
1267
1279
  # @overload grayscale($color)
1268
- # @param $color [Sass::Script::Value::Color]
1280
+ # @param $color [Sass::Script::Value::Color]
1269
1281
  # @return [Sass::Script::Value::Color]
1270
1282
  # @raise [ArgumentError] if `$color` isn't a color
1271
1283
  def grayscale(color)
@@ -1281,7 +1293,7 @@ module Sass::Script
1281
1293
  #
1282
1294
  # @see #adjust_hue #adjust-hue
1283
1295
  # @overload complement($color)
1284
- # @param $color [Sass::Script::Value::Color]
1296
+ # @param $color [Sass::Script::Value::Color]
1285
1297
  # @return [Sass::Script::Value::Color]
1286
1298
  # @raise [ArgumentError] if `$color` isn't a color
1287
1299
  def complement(color)
@@ -1293,7 +1305,7 @@ module Sass::Script
1293
1305
  # are inverted, while the opacity is left alone.
1294
1306
  #
1295
1307
  # @overload invert($color)
1296
- # @param $color [Sass::Script::Value::Color]
1308
+ # @param $color [Sass::Script::Value::Color]
1297
1309
  # @return [Sass::Script::Value::Color]
1298
1310
  # @raise [ArgumentError] if `$color` isn't a color
1299
1311
  def invert(color)
@@ -1317,7 +1329,7 @@ module Sass::Script
1317
1329
  # unquote("foo") => foo
1318
1330
  # unquote(foo) => foo
1319
1331
  # @overload unquote($string)
1320
- # @param $string [Sass::Script::Value::String]
1332
+ # @param $string [Sass::Script::Value::String]
1321
1333
  # @return [Sass::Script::Value::String]
1322
1334
  # @raise [ArgumentError] if `$string` isn't a string
1323
1335
  def unquote(string)
@@ -1337,7 +1349,7 @@ module Sass::Script
1337
1349
  # quote("foo") => "foo"
1338
1350
  # quote(foo) => "foo"
1339
1351
  # @overload quote($string)
1340
- # @param $string [Sass::Script::Value::String]
1352
+ # @param $string [Sass::Script::Value::String]
1341
1353
  # @return [Sass::Script::Value::String]
1342
1354
  # @raise [ArgumentError] if `$string` isn't a string
1343
1355
  def quote(string)
@@ -1355,7 +1367,7 @@ module Sass::Script
1355
1367
  # @example
1356
1368
  # str-length("foo") => 3
1357
1369
  # @overload str_length($string)
1358
- # @param $string [Sass::Script::Value::String]
1370
+ # @param $string [Sass::Script::Value::String]
1359
1371
  # @return [Sass::Script::Value::Number]
1360
1372
  # @raise [ArgumentError] if `$string` isn't a string
1361
1373
  def str_length(string)
@@ -1375,12 +1387,12 @@ module Sass::Script
1375
1387
  # str-insert("abcd", "X", 5) => "abcdX"
1376
1388
  #
1377
1389
  # @overload str_insert($string, $insert, $index)
1378
- # @param $string [Sass::Script::Value::String]
1379
- # @param $insert [Sass::Script::Value::String]
1380
- # @param $index [Sass::Script::Value::Number] The position at which
1381
- # `$insert` will be inserted. Negative indices count from the end of
1382
- # `$string`. An index that's outside the bounds of the string will insert
1383
- # `$insert` at the front or back of the string
1390
+ # @param $string [Sass::Script::Value::String]
1391
+ # @param $insert [Sass::Script::Value::String]
1392
+ # @param $index [Sass::Script::Value::Number] The position at which
1393
+ # `$insert` will be inserted. Negative indices count from the end of
1394
+ # `$string`. An index that's outside the bounds of the string will insert
1395
+ # `$insert` at the front or back of the string
1384
1396
  # @return [Sass::Script::Value::String] The result string. This will be
1385
1397
  # quoted if and only if `$string` was quoted
1386
1398
  # @raise [ArgumentError] if any parameter is the wrong type
@@ -1412,8 +1424,8 @@ module Sass::Script
1412
1424
  # str-index(abcd, c) => 3
1413
1425
  #
1414
1426
  # @overload str_index($string, $substring)
1415
- # @param $string [Sass::Script::Value::String]
1416
- # @param $substring [Sass::Script::Value::String]
1427
+ # @param $string [Sass::Script::Value::String]
1428
+ # @param $substring [Sass::Script::Value::String]
1417
1429
  # @return [Sass::Script::Value::Number, Sass::Script::Value::Null]
1418
1430
  # @raise [ArgumentError] if any parameter is the wrong type
1419
1431
  def str_index(string, substring)
@@ -1437,14 +1449,14 @@ module Sass::Script
1437
1449
  # str-slice("abcd", 2, -2) => "bc"
1438
1450
  #
1439
1451
  # @overload str_slice($string, $start-at, $end-at: -1)
1440
- # @param $start-at [Sass::Script::Value::Number] The index of the first
1441
- # character of the substring. If this is negative, it counts from the end
1442
- # of `$string`
1443
- # @param $end-before [Sass::Script::Value::Number] The index of the last
1444
- # character of the substring. If this is negative, it counts from the end
1445
- # of `$string`. Defaults to -1
1446
- # @return [Sass::Script::Value::String] The substring. This will be quoted
1447
- # if and only if `$string` was quoted
1452
+ # @param $start-at [Sass::Script::Value::Number] The index of the first
1453
+ # character of the substring. If this is negative, it counts from the end
1454
+ # of `$string`
1455
+ # @param $end-before [Sass::Script::Value::Number] The index of the last
1456
+ # character of the substring. If this is negative, it counts from the end
1457
+ # of `$string`. Defaults to -1
1458
+ # @return [Sass::Script::Value::String] The substring. This will be quoted
1459
+ # if and only if `$string` was quoted
1448
1460
  # @raise [ArgumentError] if any parameter is the wrong type
1449
1461
  def str_slice(string, start_at, end_at = nil)
1450
1462
  assert_type string, :String, :string
@@ -1471,7 +1483,7 @@ module Sass::Script
1471
1483
  # to-upper-case(abcd) => ABCD
1472
1484
  #
1473
1485
  # @overload to_upper_case($string)
1474
- # @param $string [Sass::Script::Value::String]
1486
+ # @param $string [Sass::Script::Value::String]
1475
1487
  # @return [Sass::Script::Value::String]
1476
1488
  # @raise [ArgumentError] if `$string` isn't a string
1477
1489
  def to_upper_case(string)
@@ -1486,7 +1498,7 @@ module Sass::Script
1486
1498
  # to-lower-case(ABCD) => abcd
1487
1499
  #
1488
1500
  # @overload to_lower_case($string)
1489
- # @param $string [Sass::Script::Value::String]
1501
+ # @param $string [Sass::Script::Value::String]
1490
1502
  # @return [Sass::Script::Value::String]
1491
1503
  # @raise [ArgumentError] if `$string` isn't a string
1492
1504
  def to_lower_case(string)
@@ -1505,7 +1517,7 @@ module Sass::Script
1505
1517
  # type-of(#fff) => color
1506
1518
  # type-of(blue) => color
1507
1519
  # @overload type_of($value)
1508
- # @param $value [Sass::Script::Value::Base] The value to inspect
1520
+ # @param $value [Sass::Script::Value::Base] The value to inspect
1509
1521
  # @return [Sass::Script::Value::String] The unquoted string name of the
1510
1522
  # value's type
1511
1523
  def type_of(value)
@@ -1520,7 +1532,7 @@ module Sass::Script
1520
1532
  # feature-exists(what-is-this-i-dont-know) => false
1521
1533
  #
1522
1534
  # @overload feature_exists($feature)
1523
- # @param $feature [Sass::Script::Value::String] The name of the feature
1535
+ # @param $feature [Sass::Script::Value::String] The name of the feature
1524
1536
  # @return [Sass::Script::Value::Bool] Whether the feature is supported in this version of Sass
1525
1537
  # @raise [ArgumentError] if `$feature` isn't a string
1526
1538
  def feature_exists(feature)
@@ -1539,7 +1551,7 @@ module Sass::Script
1539
1551
  # unit(10px * 5em) => "em*px"
1540
1552
  # unit(10px * 5em / 30cm / 1rem) => "em*px/cm*rem"
1541
1553
  # @overload unit($number)
1542
- # @param $number [Sass::Script::Value::Number]
1554
+ # @param $number [Sass::Script::Value::Number]
1543
1555
  # @return [Sass::Script::Value::String] The unit(s) of the number, as a
1544
1556
  # quoted string
1545
1557
  # @raise [ArgumentError] if `$number` isn't a number
@@ -1555,7 +1567,7 @@ module Sass::Script
1555
1567
  # unitless(100) => true
1556
1568
  # unitless(100px) => false
1557
1569
  # @overload unitless($number)
1558
- # @param $number [Sass::Script::Value::Number]
1570
+ # @param $number [Sass::Script::Value::Number]
1559
1571
  # @return [Sass::Script::Value::Bool]
1560
1572
  # @raise [ArgumentError] if `$number` isn't a number
1561
1573
  def unitless(number)
@@ -1571,8 +1583,8 @@ module Sass::Script
1571
1583
  # comparable(100px, 3em) => false
1572
1584
  # comparable(10cm, 3mm) => true
1573
1585
  # @overload comparable($number1, $number2)
1574
- # @param $number1 [Sass::Script::Value::Number]
1575
- # @param $number2 [Sass::Script::Value::Number]
1586
+ # @param $number1 [Sass::Script::Value::Number]
1587
+ # @param $number2 [Sass::Script::Value::Number]
1576
1588
  # @return [Sass::Script::Value::Bool]
1577
1589
  # @raise [ArgumentError] if either parameter is the wrong type
1578
1590
  def comparable(number1, number2)
@@ -1588,7 +1600,7 @@ module Sass::Script
1588
1600
  # percentage(0.2) => 20%
1589
1601
  # percentage(100px / 50px) => 200%
1590
1602
  # @overload percentage($number)
1591
- # @param $number [Sass::Script::Value::Number]
1603
+ # @param $number [Sass::Script::Value::Number]
1592
1604
  # @return [Sass::Script::Value::Number]
1593
1605
  # @raise [ArgumentError] if `$number` isn't a unitless number
1594
1606
  def percentage(number)
@@ -1605,7 +1617,7 @@ module Sass::Script
1605
1617
  # round(10.4px) => 10px
1606
1618
  # round(10.6px) => 11px
1607
1619
  # @overload round($number)
1608
- # @param $number [Sass::Script::Value::Number]
1620
+ # @param $number [Sass::Script::Value::Number]
1609
1621
  # @return [Sass::Script::Value::Number]
1610
1622
  # @raise [ArgumentError] if `$number` isn't a number
1611
1623
  def round(number)
@@ -1619,7 +1631,7 @@ module Sass::Script
1619
1631
  # ceil(10.4px) => 11px
1620
1632
  # ceil(10.6px) => 11px
1621
1633
  # @overload ceil($number)
1622
- # @param $number [Sass::Script::Value::Number]
1634
+ # @param $number [Sass::Script::Value::Number]
1623
1635
  # @return [Sass::Script::Value::Number]
1624
1636
  # @raise [ArgumentError] if `$number` isn't a number
1625
1637
  def ceil(number)
@@ -1633,7 +1645,7 @@ module Sass::Script
1633
1645
  # floor(10.4px) => 10px
1634
1646
  # floor(10.6px) => 10px
1635
1647
  # @overload floor($number)
1636
- # @param $number [Sass::Script::Value::Number]
1648
+ # @param $number [Sass::Script::Value::Number]
1637
1649
  # @return [Sass::Script::Value::Number]
1638
1650
  # @raise [ArgumentError] if `$number` isn't a number
1639
1651
  def floor(number)
@@ -1647,7 +1659,7 @@ module Sass::Script
1647
1659
  # abs(10px) => 10px
1648
1660
  # abs(-10px) => 10px
1649
1661
  # @overload abs($number)
1650
- # @param $number [Sass::Script::Value::Number]
1662
+ # @param $number [Sass::Script::Value::Number]
1651
1663
  # @return [Sass::Script::Value::Number]
1652
1664
  # @raise [ArgumentError] if `$number` isn't a number
1653
1665
  def abs(number)
@@ -1662,7 +1674,7 @@ module Sass::Script
1662
1674
  # min(1px, 4px) => 1px
1663
1675
  # min(5em, 3em, 4em) => 3em
1664
1676
  # @overload min($numbers...)
1665
- # @param $numbers [[Sass::Script::Value::Number]]
1677
+ # @param $numbers [[Sass::Script::Value::Number]]
1666
1678
  # @return [Sass::Script::Value::Number]
1667
1679
  # @raise [ArgumentError] if any argument isn't a number, or if not all of
1668
1680
  # the arguments have comparable units
@@ -1679,7 +1691,7 @@ module Sass::Script
1679
1691
  # max(1px, 4px) => 4px
1680
1692
  # max(5em, 3em, 4em) => 5em
1681
1693
  # @overload max($numbers...)
1682
- # @param $numbers [[Sass::Script::Value::Number]]
1694
+ # @param $numbers [[Sass::Script::Value::Number]]
1683
1695
  # @return [Sass::Script::Value::Number]
1684
1696
  # @raise [ArgumentError] if any argument isn't a number, or if not all of
1685
1697
  # the arguments have comparable units
@@ -1698,7 +1710,7 @@ module Sass::Script
1698
1710
  # length(10px 20px 30px) => 3
1699
1711
  # length((width: 10px, height: 20px)) => 2
1700
1712
  # @overload length($list)
1701
- # @param $list [Sass::Script::Value::Base]
1713
+ # @param $list [Sass::Script::Value::Base]
1702
1714
  # @return [Sass::Script::Value::Number]
1703
1715
  def length(list)
1704
1716
  number(list.to_a.size)
@@ -1717,11 +1729,11 @@ module Sass::Script
1717
1729
  # @example
1718
1730
  # set-nth($list: 10px 20px 30px, $n: 2, $value: -20px) => 10px -20px 30px
1719
1731
  # @overload set-nth($list, $n, $value)
1720
- # @param $list [Sass::Script::Value::Base] The list that will be copied, having the element
1721
- # at index `$n` changed.
1722
- # @param $n [Sass::Script::Value::Number] The index of the item to set.
1723
- # Negative indices count from the end of the list.
1724
- # @param $value [Sass::Script::Value::Base] The new value at index `$n`.
1732
+ # @param $list [Sass::Script::Value::Base] The list that will be copied, having the element
1733
+ # at index `$n` changed.
1734
+ # @param $n [Sass::Script::Value::Number] The index of the item to set.
1735
+ # Negative indices count from the end of the list.
1736
+ # @param $value [Sass::Script::Value::Base] The new value at index `$n`.
1725
1737
  # @return [Sass::Script::Value::List]
1726
1738
  # @raise [ArgumentError] if `$n` isn't an integer between 1 and the length
1727
1739
  # of `$list`
@@ -1750,9 +1762,9 @@ module Sass::Script
1750
1762
  # nth((Helvetica, Arial, sans-serif), 3) => sans-serif
1751
1763
  # nth((width: 10px, length: 20px), 2) => length, 20px
1752
1764
  # @overload nth($list, $n)
1753
- # @param $list [Sass::Script::Value::Base]
1754
- # @param $n [Sass::Script::Value::Number] The index of the item to get.
1755
- # Negative indices count from the end of the list.
1765
+ # @param $list [Sass::Script::Value::Base]
1766
+ # @param $n [Sass::Script::Value::Number] The index of the item to get.
1767
+ # Negative indices count from the end of the list.
1756
1768
  # @return [Sass::Script::Value::Base]
1757
1769
  # @raise [ArgumentError] if `$n` isn't an integer between 1 and the length
1758
1770
  # of `$list`
@@ -1779,11 +1791,11 @@ module Sass::Script
1779
1791
  # join(10px, 20px, comma) => 10px, 20px
1780
1792
  # join((blue, red), (#abc, #def), space) => blue red #abc #def
1781
1793
  # @overload join($list1, $list2, $separator: auto)
1782
- # @param $list1 [Sass::Script::Value::Base]
1783
- # @param $list2 [Sass::Script::Value::Base]
1784
- # @param $separator [Sass::Script::Value::String] The list separator to use.
1785
- # If this is `comma` or `space`, that separator will be used. If this is
1786
- # `auto` (the default), the separator is determined as explained above.
1794
+ # @param $list1 [Sass::Script::Value::Base]
1795
+ # @param $list2 [Sass::Script::Value::Base]
1796
+ # @param $separator [Sass::Script::Value::String] The list separator to use.
1797
+ # If this is `comma` or `space`, that separator will be used. If this is
1798
+ # `auto` (the default), the separator is determined as explained above.
1787
1799
  # @return [Sass::Script::Value::List]
1788
1800
  def join(list1, list2, separator = identifier("auto"))
1789
1801
  assert_type separator, :String, :separator
@@ -1812,11 +1824,11 @@ module Sass::Script
1812
1824
  # append(10px, 20px, comma) => 10px, 20px
1813
1825
  # append((blue, red), green, space) => blue red green
1814
1826
  # @overload append($list, $val, $separator: auto)
1815
- # @param $list [Sass::Script::Value::Base]
1816
- # @param $val [Sass::Script::Value::Base]
1817
- # @param $separator [Sass::Script::Value::String] The list separator to use.
1818
- # If this is `comma` or `space`, that separator will be used. If this is
1819
- # `auto` (the default), the separator is determined as explained above.
1827
+ # @param $list [Sass::Script::Value::Base]
1828
+ # @param $val [Sass::Script::Value::Base]
1829
+ # @param $separator [Sass::Script::Value::String] The list separator to use.
1830
+ # If this is `comma` or `space`, that separator will be used. If this is
1831
+ # `auto` (the default), the separator is determined as explained above.
1820
1832
  # @return [Sass::Script::Value::List]
1821
1833
  def append(list, val, separator = identifier("auto"))
1822
1834
  assert_type separator, :String, :separator
@@ -1844,7 +1856,7 @@ module Sass::Script
1844
1856
  # zip(1px 1px 3px, solid dashed solid, red green blue)
1845
1857
  # => 1px solid red, 1px dashed green, 3px solid blue
1846
1858
  # @overload zip($lists...)
1847
- # @param $lists [[Sass::Script::Value::Base]]
1859
+ # @param $lists [[Sass::Script::Value::Base]]
1848
1860
  # @return [Sass::Script::Value::List]
1849
1861
  def zip(*lists)
1850
1862
  length = nil
@@ -1875,8 +1887,8 @@ module Sass::Script
1875
1887
  # index(1px solid red, dashed) => null
1876
1888
  # index((width: 10px, height: 20px), (height, 20px)) => 2
1877
1889
  # @overload index($list, $value)
1878
- # @param $list [Sass::Script::Value::Base]
1879
- # @param $value [Sass::Script::Value::Base]
1890
+ # @param $list [Sass::Script::Value::Base]
1891
+ # @param $value [Sass::Script::Value::Base]
1880
1892
  # @return [Sass::Script::Value::Number, Sass::Script::Value::Null] The
1881
1893
  # 1-based index of `$value` in `$list`, or `null`
1882
1894
  def index(list, value)
@@ -1894,7 +1906,7 @@ module Sass::Script
1894
1906
  # list-separator(1px, 2px, 3px) => comma
1895
1907
  # list-separator('foo') => space
1896
1908
  # @overload list_separator($list)
1897
- # @param $list [Sass::Script::Value::Base]
1909
+ # @param $list [Sass::Script::Value::Base]
1898
1910
  # @return [Sass::Script::Value::String] `comma` or `space`
1899
1911
  def list_separator(list)
1900
1912
  identifier((list.separator || :space).to_s)
@@ -1909,8 +1921,8 @@ module Sass::Script
1909
1921
  # map-get(("foo": 1, "bar": 2), "bar") => 2
1910
1922
  # map-get(("foo": 1, "bar": 2), "baz") => null
1911
1923
  # @overload map_get($map, $key)
1912
- # @param $map [Sass::Script::Value::Map]
1913
- # @param $key [Sass::Script::Value::Base]
1924
+ # @param $map [Sass::Script::Value::Map]
1925
+ # @param $key [Sass::Script::Value::Base]
1914
1926
  # @return [Sass::Script::Value::Base] The value indexed by `$key`, or `null`
1915
1927
  # if the map doesn't contain the given key
1916
1928
  # @raise [ArgumentError] if `$map` is not a map
@@ -1933,8 +1945,8 @@ module Sass::Script
1933
1945
  # map-merge(("foo": 1), ("bar": 2)) => ("foo": 1, "bar": 2)
1934
1946
  # map-merge(("foo": 1, "bar": 2), ("bar": 3)) => ("foo": 1, "bar": 3)
1935
1947
  # @overload map_merge($map1, $map2)
1936
- # @param $map1 [Sass::Script::Value::Map]
1937
- # @param $map2 [Sass::Script::Value::Map]
1948
+ # @param $map1 [Sass::Script::Value::Map]
1949
+ # @param $map2 [Sass::Script::Value::Map]
1938
1950
  # @return [Sass::Script::Value::Map]
1939
1951
  # @raise [ArgumentError] if either parameter is not a map
1940
1952
  def map_merge(map1, map2)
@@ -1950,8 +1962,8 @@ module Sass::Script
1950
1962
  # map-remove(("foo": 1, "bar": 2), "bar") => ("foo": 1)
1951
1963
  # map-remove(("foo": 1, "bar": 2), "baz") => ("foo": 1, "bar": 2)
1952
1964
  # @overload map_remove($map, $key)
1953
- # @param $map [Sass::Script::Value::Map]
1954
- # @param $key [Sass::Script::Value::Base]
1965
+ # @param $map [Sass::Script::Value::Map]
1966
+ # @param $key [Sass::Script::Value::Base]
1955
1967
  # @return [Sass::Script::Value::Map]
1956
1968
  # @raise [ArgumentError] if `$map` is not a map
1957
1969
  def map_remove(map, key)
@@ -1967,7 +1979,7 @@ module Sass::Script
1967
1979
  # @example
1968
1980
  # map-keys(("foo": 1, "bar": 2)) => "foo", "bar"
1969
1981
  # @overload map_keys($map)
1970
- # @param $map [Map]
1982
+ # @param $map [Map]
1971
1983
  # @return [List] the list of keys, comma-separated
1972
1984
  # @raise [ArgumentError] if `$map` is not a map
1973
1985
  def map_keys(map)
@@ -1983,7 +1995,7 @@ module Sass::Script
1983
1995
  # map-values(("foo": 1, "bar": 2)) => 1, 2
1984
1996
  # map-values(("foo": 1, "bar": 2, "baz": 1)) => 1, 2, 1
1985
1997
  # @overload map_values($map)
1986
- # @param $map [Map]
1998
+ # @param $map [Map]
1987
1999
  # @return [List] the list of values, comma-separated
1988
2000
  # @raise [ArgumentError] if `$map` is not a map
1989
2001
  def map_values(map)
@@ -1998,8 +2010,8 @@ module Sass::Script
1998
2010
  # map-has-key(("foo": 1, "bar": 2), "foo") => true
1999
2011
  # map-has-key(("foo": 1, "bar": 2), "baz") => false
2000
2012
  # @overload map_has_key($map, $key)
2001
- # @param $map [Sass::Script::Value::Map]
2002
- # @param $key [Sass::Script::Value::Base]
2013
+ # @param $map [Sass::Script::Value::Map]
2014
+ # @param $key [Sass::Script::Value::Base]
2003
2015
  # @return [Sass::Script::Value::Bool]
2004
2016
  # @raise [ArgumentError] if `$map` is not a map
2005
2017
  def map_has_key(map, key)
@@ -2019,7 +2031,7 @@ module Sass::Script
2019
2031
  #
2020
2032
  # @include foo($arg1: val, $arg2: val);
2021
2033
  # @overload keywords($args)
2022
- # @param $args [Sass::Script::Value::ArgList]
2034
+ # @param $args [Sass::Script::Value::ArgList]
2023
2035
  # @return [Sass::Script::Value::Map]
2024
2036
  # @raise [ArgumentError] if `$args` isn't a variable argument list
2025
2037
  def keywords(args)
@@ -2036,10 +2048,10 @@ module Sass::Script
2036
2048
  # if(true, 1px, 2px) => 1px
2037
2049
  # if(false, 1px, 2px) => 2px
2038
2050
  # @overload if($condition, $if-true, $if-false)
2039
- # @param $condition [Sass::Script::Value::Base] Whether the `$if-true` or
2040
- # `$if-false` will be returned
2041
- # @param $if-true [Sass::Script::Tree::Node]
2042
- # @param $if-false [Sass::Script::Tree::Node]
2051
+ # @param $condition [Sass::Script::Value::Base] Whether the `$if-true` or
2052
+ # `$if-false` will be returned
2053
+ # @param $if-true [Sass::Script::Tree::Node]
2054
+ # @param $if-false [Sass::Script::Tree::Node]
2043
2055
  # @return [Sass::Script::Value::Base] `$if-true` or `$if-false`
2044
2056
  def if(condition, if_true, if_false)
2045
2057
  if condition.to_bool
@@ -2079,7 +2091,7 @@ module Sass::Script
2079
2091
  # call($fn, (a b c), 2) => b
2080
2092
  #
2081
2093
  # @overload call($name, $args...)
2082
- # @param $name [String] The name of the function to call.
2094
+ # @param $name [String] The name of the function to call.
2083
2095
  def call(name, *args)
2084
2096
  assert_type name, :String, :name
2085
2097
  kwargs = args.last.is_a?(Hash) ? args.pop : {}
@@ -78,12 +78,12 @@ module Sass
78
78
  # Non-destructively extends this selector with the extensions specified in a hash
79
79
  # (which should come from {Sass::Tree::Visitors::Cssize}).
80
80
  #
81
- # @overload def do_extend(extends, parent_directives)
82
- # @param extends [Sass::Util::SubsetMap{Selector::Simple =>
83
- # Sass::Tree::Visitors::Cssize::Extend}]
84
- # The extensions to perform on this selector
85
- # @param parent_directives [Array<Sass::Tree::DirectiveNode>]
86
- # The directives containing this selector.
81
+ # @overload do_extend(extends, parent_directives)
82
+ # @param extends [Sass::Util::SubsetMap{Selector::Simple =>
83
+ # Sass::Tree::Visitors::Cssize::Extend}]
84
+ # The extensions to perform on this selector
85
+ # @param parent_directives [Array<Sass::Tree::DirectiveNode>]
86
+ # The directives containing this selector.
87
87
  # @return [Array<Sequence>] A list of selectors generated
88
88
  # by extending this selector with `extends`.
89
89
  # These correspond to a {CommaSequence}'s {CommaSequence#members members array}.
@@ -131,12 +131,12 @@ module Sass
131
131
  # Non-destrucively extends this selector with the extensions specified in a hash
132
132
  # (which should come from {Sass::Tree::Visitors::Cssize}).
133
133
  #
134
- # @overload def do_extend(extends, parent_directives)
135
- # @param extends [{Selector::Simple =>
136
- # Sass::Tree::Visitors::Cssize::Extend}]
137
- # The extensions to perform on this selector
138
- # @param parent_directives [Array<Sass::Tree::DirectiveNode>]
139
- # The directives containing this selector.
134
+ # @overload do_extend(extends, parent_directives)
135
+ # @param extends [{Selector::Simple =>
136
+ # Sass::Tree::Visitors::Cssize::Extend}]
137
+ # The extensions to perform on this selector
138
+ # @param parent_directives [Array<Sass::Tree::DirectiveNode>]
139
+ # The directives containing this selector.
140
140
  # @return [Array<Sequence>] A list of selectors generated
141
141
  # by extending this selector with `extends`.
142
142
  # @see CommaSequence#do_extend
@@ -41,6 +41,7 @@ class Sass::Tree::Visitors::SetOptions < Sass::Tree::Visitors::Base
41
41
  k.options = @options
42
42
  v.options = @options if v
43
43
  end
44
+ node.splat.options = @options if node.splat
44
45
  yield
45
46
  end
46
47
 
@@ -63,12 +64,15 @@ class Sass::Tree::Visitors::SetOptions < Sass::Tree::Visitors::Base
63
64
  k.options = @options
64
65
  v.options = @options if v
65
66
  end
67
+ node.splat.options = @options if node.splat
66
68
  yield
67
69
  end
68
70
 
69
71
  def visit_mixin(node)
70
72
  node.args.each {|a| a.options = @options}
71
73
  node.keywords.each {|k, v| v.options = @options}
74
+ node.splat.options = @options if node.splat
75
+ node.kwarg_splat.options = @options if node.kwarg_splat
72
76
  yield
73
77
  end
74
78
 
@@ -512,7 +512,7 @@ module Sass
512
512
  begin
513
513
  require 'listen/version'
514
514
  version_geq(::Listen::VERSION, '2.0.0')
515
- rescue LoadError => e
515
+ rescue LoadError
516
516
  false
517
517
  end
518
518
  end
@@ -66,17 +66,52 @@ class CacheTest < Test::Unit::TestCase
66
66
  assert_equal an_object, cache.retrieve("an_object", "")
67
67
  end
68
68
 
69
- class Unmarshalable
70
- def _dump(_)
71
- raise 'Unmarshalable'
72
- end
69
+ def test_cache_node_with_unmarshalable_option
70
+ engine_with_unmarshalable_options("foo {a: b + c}").to_tree
73
71
  end
74
72
 
75
- def test_cache_node_with_unmarshalable_option
76
- engine = Sass::Engine.new("foo {a: b + c}",
77
- :syntax => :scss, :object => Unmarshalable.new, :filename => 'file.scss',
78
- :importer => Sass::Importers::Filesystem.new(absolutize('templates')))
79
- engine.to_tree
73
+ # Regression tests
74
+
75
+ def test_cache_mixin_def_splat_sass_node_with_unmarshalable_option
76
+ engine_with_unmarshalable_options(<<SASS, :syntax => :sass).to_tree
77
+ =color($args...)
78
+ color: red
79
+ SASS
80
+ end
81
+
82
+ def test_cache_mixin_def_splat_scss_node_with_unmarshalable_option
83
+ engine_with_unmarshalable_options(<<SCSS, :syntax => :scss).to_tree
84
+ @mixin color($args...) {
85
+ color: red;
86
+ }
87
+ SCSS
88
+ end
89
+
90
+ def test_cache_function_splat_sass_node_with_unmarshalable_option
91
+ engine_with_unmarshalable_options(<<SASS, :syntax => :sass).to_tree
92
+ @function color($args...)
93
+ @return red
94
+ SASS
95
+ end
96
+
97
+ def test_cache_function_splat_scss_node_with_unmarshalable_option
98
+ engine_with_unmarshalable_options(<<SCSS, :syntax => :scss).to_tree
99
+ @function color($args...) {
100
+ @return red;
101
+ }
102
+ SCSS
103
+ end
104
+
105
+ def test_cache_include_splat_sass_node_with_unmarshalable_option
106
+ engine_with_unmarshalable_options(<<SASS, :syntax => :sass).to_tree
107
+ @include color($args..., $kwargs...)
108
+ SASS
109
+ end
110
+
111
+ def test_cache_include_splat_scss_node_with_unmarshalable_option
112
+ engine_with_unmarshalable_options(<<SCSS, :syntax => :scss).to_tree
113
+ @include color($args..., $kwargs...);
114
+ SCSS
80
115
  end
81
116
 
82
117
  private
@@ -86,4 +121,11 @@ class CacheTest < Test::Unit::TestCase
86
121
  div { @include color(red); }
87
122
  SCSS
88
123
  end
124
+
125
+ def engine_with_unmarshalable_options(src, options={})
126
+ Sass::Engine.new(src, {
127
+ :syntax => :scss, :object => Class.new.new, :filename => 'file.scss',
128
+ :importer => Sass::Importers::Filesystem.new(absolutize('templates'))
129
+ }.merge(options))
130
+ end
89
131
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sass
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.2
4
+ version: 3.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Weizenbaum
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-03-11 00:00:00.000000000 Z
13
+ date: 2014-03-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: yard