sassy-maps 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e2fc7c65541ec4bacd403d5aab6edf043b4fce7d
4
- data.tar.gz: 0b1363002e269b6f9fd20d67d29d52fbc9df7c53
3
+ metadata.gz: ffd41893e69bee011b345abd23bf5c1c8d011383
4
+ data.tar.gz: b927e743e20c5204f449d5c1715a046bbb9adb83
5
5
  SHA512:
6
- metadata.gz: dd5a0e3272e574cea26dc7d6197cf224b2de9577caae6c2388e68dc698a6c9b9bdcdae3028a0e9142e105188b582459461bfc1bce87d6c2051d72821d9b90f26
7
- data.tar.gz: 785c2f4ef1c53fc7f3331845f66bbd86316f274c79c84eeec8374dba84ddc6ea521bf01564c6f8d4ef9454a058f010cceb414c5dbfe22589c66f46c1f0904eae
6
+ metadata.gz: a89bacc8de898cc114af9fb44486baf5d845579475fc8e1a0865f92731530bf66941cd7740625c4b05328db206a3529c3cee5abbb750d1a9a71e7195b572acdd
7
+ data.tar.gz: 7690b6860024fd07b7afa472b5d160f59ea6005b764f1ecf4f6e78e3f4a7db5f15092af24a5e5427e682f16fd61a06ab87306e3acc2be4a6d20209f61166ae45
data/lib/sassy-maps.rb CHANGED
@@ -20,8 +20,8 @@ Compass::Frameworks.register('sassy-maps', :stylesheets_directory => stylesheets
20
20
  # a prerelease version
21
21
  # Date is in the form of YYYY-MM-DD
22
22
  module SassyMaps
23
- VERSION = "0.1.1"
24
- DATE = "2013-10-25"
23
+ VERSION = "0.2.0"
24
+ DATE = "2013-12-02"
25
25
  end
26
26
 
27
27
  # This is where any custom SassScript should be placed. The functions will be
@@ -1,3 +1,8 @@
1
+ //////////////////////////////
2
+ // To String
3
+ //////////////////////////////
4
+ @import "sassy-maps/map-to-string";
5
+
1
6
  //////////////////////////////
2
7
  // Getting Helpers
3
8
  //////////////////////////////
@@ -0,0 +1,29 @@
1
+ $private-sassy-maps-supress-warnings: false !default;
2
+
3
+ @function map-get-deep($map, $keys...) {
4
+ @if length($keys) == 1 {
5
+ $keys: nth($keys, 1);
6
+ }
7
+ $warn: "#{nth($keys, 1)}";
8
+ $length: length($keys);
9
+ $get: map-get($map, nth($keys, 1));
10
+
11
+ @for $i from 2 through $length {
12
+ @if $get != null and type-of($get) == 'map' {
13
+ $warn: $warn + "->#{nth($keys, $i)}";
14
+ $get: map-get($get, nth($keys, $i));
15
+ }
16
+ @else {
17
+ @if not $private-sassy-maps-supress-warnings {
18
+ @if $get == null {
19
+ @warn "Map has no value for key search `#{$warn}`";
20
+ }
21
+ @else if type-of($get) != 'map' {
22
+ @warn "Non-map value found for key search `#{$warn}`, cannot search for key `#{nth($keys, $i)}`";
23
+ }
24
+ }
25
+ @return null;
26
+ }
27
+ }
28
+ @return $get;
29
+ }
@@ -1,3 +1,51 @@
1
+ @function get-keys($keys, $counter) {
2
+ $return: ();
3
+ @for $i from 1 to $counter {
4
+ $return: append($return, nth($keys, $i));
5
+ }
6
+ @return $return;
7
+ }
8
+
1
9
  @function map-set($map, $key, $value) {
2
10
  @return map-merge($map, ($key: $value));
11
+ }
12
+
13
+ @function map-set-deep($map, $keys, $value) {
14
+ $private-sassy-maps-supress-warnings: true !global;
15
+ $length: length($keys);
16
+ $get-keys: ();
17
+ $map-level: ();
18
+
19
+
20
+ @if $length > 1 {
21
+ $get-keys: get-keys($keys, $length);
22
+ $map-level: map-get-deep($map, $get-keys);
23
+ }
24
+ $merge: (nth($keys, $length): $value);
25
+ @if $map-level {
26
+ $merge: map-merge($map-level, $merge);
27
+ }
28
+ @for $i from ($length * -1 + 1) through -1 {
29
+ $j: abs($i);
30
+ $key: nth($keys, $j);
31
+ //
32
+ // @debug $get-keys;
33
+ @if $j > 1 {
34
+ $get-keys: get-keys($keys, $j);
35
+ $map-level: map-get-deep($map, $get-keys);
36
+ @if $map-level {
37
+ $merge: map-merge($map-level, ($key: $merge));
38
+ }
39
+ @else {
40
+ $merge: ($key: $merge);
41
+ }
42
+ }
43
+ @else {
44
+ $merge: ($key: $merge);
45
+ }
46
+ }
47
+ $map: map-merge($map, $merge);
48
+
49
+ $private-sassy-maps-supress-warnings: false !global;
50
+ @return $map;
3
51
  }
@@ -0,0 +1,3 @@
1
+ @function map-to-string($map) {
2
+ @return inspect($map);
3
+ }
@@ -1,6 +1,6 @@
1
1
  # Pull gems from RubyGems
2
2
  source 'https://rubygems.org'
3
- gem 'sass', '3.3.0.rc.1'
4
- gem 'compass', '0.13.alpha.10'
3
+ gem 'sass', '~>3.3.0.rc.2'
4
+ gem 'compass', '~>1.0.0.alpha.13'
5
5
 
6
- gem 'Sassy Maps', '~>0.1.1'
6
+ gem 'Sassy Maps', '~>0.2.0'
metadata CHANGED
@@ -1,44 +1,44 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sassy-maps
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Richard
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-25 00:00:00.000000000 Z
11
+ date: 2013-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sass
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '='
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: 3.3.0.rc.1
19
+ version: 3.3.0.rc.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '='
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: 3.3.0.rc.1
26
+ version: 3.3.0.rc.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: compass
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '='
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: 0.13.alpha.10
33
+ version: 1.0.0.alpha.13
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '='
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: 0.13.alpha.10
41
- description: A long description of this awesome compass extension
40
+ version: 1.0.0.alpha.13
41
+ description: Map helper functions for Sass 3.3 Maps including get-deep and set/set-deep
42
42
  email:
43
43
  - sam@snug.ug
44
44
  executables: []
@@ -49,6 +49,7 @@ files:
49
49
  - stylesheets/_sassy-maps.scss
50
50
  - stylesheets/sassy-maps/_map-get.scss
51
51
  - stylesheets/sassy-maps/_map-set.scss
52
+ - stylesheets/sassy-maps/_map-to-string.scss
52
53
  - templates/project/Gemfile.txt
53
54
  - templates/project/manifest.rb
54
55
  homepage: https://github.com/Snugug/Sassy-Maps
@@ -74,5 +75,5 @@ rubyforge_project: sassy-maps
74
75
  rubygems_version: 2.0.3
75
76
  signing_key:
76
77
  specification_version: 4
77
- summary: A short summary of this awesome compass extension
78
+ summary: Map helper functions for Sass 3.3 Maps
78
79
  test_files: []