SassyLists 0.4.9 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. data/CHANGELOG.md +8 -0
  2. data/lib/SassyLists.rb +2 -2
  3. data/stylesheets/SassyLists/_chunk.scss +27 -32
  4. data/stylesheets/SassyLists/_contain.scss +2 -5
  5. data/stylesheets/SassyLists/_count-values.scss +9 -22
  6. data/stylesheets/SassyLists/_debug.scss +64 -66
  7. data/stylesheets/SassyLists/_explode.scss +49 -0
  8. data/stylesheets/SassyLists/_first.scss +10 -5
  9. data/stylesheets/SassyLists/_flatten.scss +16 -13
  10. data/stylesheets/SassyLists/_insert-nth.scss +22 -25
  11. data/stylesheets/SassyLists/_intersection.scss +12 -13
  12. data/stylesheets/SassyLists/_is-symmetrical.scss +2 -7
  13. data/stylesheets/SassyLists/_last-index.scss +7 -9
  14. data/stylesheets/SassyLists/_last.scss +10 -5
  15. data/stylesheets/SassyLists/_loop.scss +19 -12
  16. data/stylesheets/SassyLists/_prepend.scss +7 -8
  17. data/stylesheets/SassyLists/_purge.scss +8 -9
  18. data/stylesheets/SassyLists/_random-value.scss +12 -7
  19. data/stylesheets/SassyLists/_remove-duplicates.scss +8 -17
  20. data/stylesheets/SassyLists/_remove-nth.scss +2 -12
  21. data/stylesheets/SassyLists/_remove.scss +4 -9
  22. data/stylesheets/SassyLists/_replace-nth.scss +7 -29
  23. data/stylesheets/SassyLists/_replace.scss +14 -23
  24. data/stylesheets/SassyLists/_reverse.scss +14 -20
  25. data/stylesheets/SassyLists/_shuffle.scss +14 -10
  26. data/stylesheets/SassyLists/_slice.scss +25 -33
  27. data/stylesheets/SassyLists/_sort.scss +25 -39
  28. data/stylesheets/SassyLists/_sum.scss +12 -17
  29. data/stylesheets/SassyLists/_to-string.scss +10 -21
  30. data/stylesheets/SassyLists/_union.scss +3 -2
  31. data/stylesheets/SassyLists/helpers/_str-compare.scss +27 -0
  32. data/stylesheets/SassyLists/helpers/_true.scss +15 -0
  33. data/stylesheets/_SassyLists.scss +3 -0
  34. metadata +5 -2
@@ -4,35 +4,24 @@
4
4
  // -------------------------------------------------------------------------------
5
5
  // @alias `stringify()`
6
6
  // -------------------------------------------------------------------------------
7
- // @example to-string(a b c) => abc
8
- // @example to-string(a (b c) d) => abcd
9
- // @example to-string(a b c, '-') => a-b-c
10
- // -------------------------------------------------------------------------------
11
7
  // @param $list [List] : list
12
8
  // @param $glue [String] : value to use as a join string
13
- // @param $root [Boolean] : strictly internal boolean for recursivity
14
9
  // -------------------------------------------------------------------------------
15
10
  // @return [String]
16
11
 
17
- @function to-string($list, $glue: '', $root: true) {
18
- $result: '';
19
-
20
- @for $i from 1 through length($list) {
21
- $item: nth($list, $i);
22
-
23
- @if length($item) > 1 {
24
- $result: $result + to-string($item, $glue, false);
25
- }
12
+ @function to-string($list, $glue: '') {
13
+ $result: '';
14
+ $length: length($list);
26
15
 
27
- @else {
28
- $result: if($i != length($list) or not $root, $result + $item + $glue, $result + $item);
29
- }
30
- }
16
+ @for $i from 1 through $length {
17
+ $item: nth($list, $i);
18
+ $result: $result + if(length($item) > 1, to-string($item, $glue), $item + $glue);
19
+ }
31
20
 
32
- @return quote($result);
21
+ @return quote(str-slice($result, 1, str-length($glue) * -1 - 1));
33
22
  }
34
23
 
35
24
  // Alias
36
- @function stringify($list, $glue: '', $root: true) {
37
- @return to-string($list, $glue, $root);
25
+ @function stringify($list, $glue: '') {
26
+ @return to-string($list, $glue);
38
27
  }
@@ -14,10 +14,11 @@
14
14
  // @return [List]
15
15
 
16
16
  @function union($lists...) {
17
- @return remove-duplicates(flatten($lists));
17
+ $result: remove-duplicates(flatten($lists));
18
+ @return if(length($result) == 1, nth($result, 1), $result);
18
19
  }
19
20
 
20
21
  // Alias
21
22
  @function merge($lists...) {
22
- @return union($lists...);
23
+ @return union($lists...);
23
24
  }
@@ -0,0 +1,27 @@
1
+ // Compares two values based on alphabetical order
2
+ // -------------------------------------------------------------------------------
3
+ // @private
4
+ // -------------------------------------------------------------------------------
5
+ // @usage sort()
6
+ // -------------------------------------------------------------------------------
7
+ // @param $a [Literal] : first value
8
+ // @param $b [Literal] : second value
9
+ // @param $matrix [List] : alphabetical order
10
+ // -------------------------------------------------------------------------------
11
+ // @return [Boolean]
12
+
13
+ @function str-compare($a, $b, $order) {
14
+ @if type-of($a) == "number" and type-of($b) == "number" {
15
+ @return $a < $b;
16
+ }
17
+ $a: to-lower-case($a + unquote(""));
18
+ $b: to-lower-case($b + unquote(""));
19
+ @for $i from 1 through min(str-length($a), str-length($b)) {
20
+ $char-a: str-slice($a, $i, $i);
21
+ $char-b: str-slice($b, $i, $i);
22
+ @if $char-a and $char-b and index($order, $char-a) != index($order, $char-b) {
23
+ @return index($order, $char-a) < index($order, $char-b);
24
+ }
25
+ }
26
+ @return str-length($a) < str-length($b);
27
+ }
@@ -0,0 +1,15 @@
1
+ // Returns truthiness of a value
2
+ // -------------------------------------------------------------------------------
3
+ // @private
4
+ // -------------------------------------------------------------------------------
5
+ // @usage `insert-nth()`
6
+ // @usage `prepend()`
7
+ // @usage `purge()`
8
+ // -------------------------------------------------------------------------------
9
+ // @param $value [Literal] : value
10
+ // -------------------------------------------------------------------------------
11
+ // @return [Boolean]
12
+
13
+ @function is-true($value) {
14
+ @return if($value == null, false, $value and $value != null and $value != "" and $value != ());
15
+ }
@@ -6,10 +6,13 @@
6
6
  // Repository: https://github.com/Team-Sass/SassyLists/
7
7
  // -------------------------------------------------------------------------------
8
8
 
9
+ @import "SassyLists/helpers/true";
10
+ @import "SassyLists/helpers/str-compare";
9
11
  @import "SassyLists/chunk";
10
12
  @import "SassyLists/contain";
11
13
  @import "SassyLists/count-values";
12
14
  @import "SassyLists/debug";
15
+ @import "SassyLists/explode";
13
16
  @import "SassyLists/first";
14
17
  @import "SassyLists/flatten";
15
18
  @import "SassyLists/insert-nth";
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: SassyLists
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.9
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-01-20 00:00:00.000000000 Z
12
+ date: 2014-03-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sass
@@ -52,10 +52,13 @@ extra_rdoc_files: []
52
52
  files:
53
53
  - CHANGELOG.md
54
54
  - lib/SassyLists.rb
55
+ - stylesheets/SassyLists/helpers/_str-compare.scss
56
+ - stylesheets/SassyLists/helpers/_true.scss
55
57
  - stylesheets/SassyLists/_chunk.scss
56
58
  - stylesheets/SassyLists/_contain.scss
57
59
  - stylesheets/SassyLists/_count-values.scss
58
60
  - stylesheets/SassyLists/_debug.scss
61
+ - stylesheets/SassyLists/_explode.scss
59
62
  - stylesheets/SassyLists/_first.scss
60
63
  - stylesheets/SassyLists/_flatten.scss
61
64
  - stylesheets/SassyLists/_insert-nth.scss