sutty-liquid 0.11.1 → 0.11.3

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
  SHA256:
3
- metadata.gz: ad37c07acd7b187061dd8774f6040775d8f0955bcf8177c4b8df3fb2003a557e
4
- data.tar.gz: aa7c1b4b4870d2cfa24a872d6bbd0262dafbf69e56a5fad8287817c32efc553c
3
+ metadata.gz: 4d40dce8e97152d3e3a62e8c615ba0cd9705550858742c408438e4a4fdf23024
4
+ data.tar.gz: 4f4779513b7182098a8d7d31a718d8ee330800a35f06ee11b4692c55d7d430c9
5
5
  SHA512:
6
- metadata.gz: 589ffafd3e6434604ba96f6a98ba770adef39255e6ef39a04171cb68512d289e6470de517c82e36b298c79cd9685789be0a184835e446a0b119c8724be2f50e1
7
- data.tar.gz: 218eca65ce050537c6c53a38c186a8ef5af66a779d3704c8f8fe2fee9025689f5c03af927b5681b109d2236f5be465c02ec4eae47832795629a805a10db1e806
6
+ metadata.gz: 42e4a38bdab65fd6b6e20a21e9a494f06af97860a53c0e5f150ff74ee182a9aeac5de4e497e530832a7166b4f66b6fcfc14d53cfe52300c8cea71a96a625a4c7
7
+ data.tar.gz: 62903a5329c71c770f47956fda99d3233f7607548a78df21d879dda03b3b6f50e88c81f7547cea16bcdb891b73bc090e659ee242627e515d19d83c9fa8b5eff8
@@ -7,23 +7,43 @@ module Jekyll
7
7
  # Converts a YAML object into SCSS. Only supports one level
8
8
  # values.
9
9
  #
10
- # @param :yaml [Hash]
10
+ # Optionally give it an schema to filter out keys.
11
+ #
12
+ # @param :yaml [Hash,Jekyll::Drops::DocumentDrop]
13
+ # @param :schema [Hash]
11
14
  # @return [String]
12
- def yaml_to_scss(yaml)
13
- yaml.map do |key, value|
15
+ def yaml_to_scss(yaml, schema = yaml)
16
+ yaml = yaml.to_h if yaml.is_a? Jekyll::Drops::DocumentDrop
17
+
18
+ unless yaml.is_a? Hash
19
+ raise Liquid::ArgumentError, "#{yaml.inspect} needs to be a Hash" if @context.strict_filters
20
+
21
+ return yaml
22
+ end
23
+
24
+ yaml.slice(*schema.keys).map do |key, value|
25
+ next if value.nil?
26
+
14
27
  key = key_to_scss key
15
28
 
16
29
  case value
17
30
  when Array
18
- "$#{key}: (#{value.join(',')},);"
31
+ values = value.compact.map(&:to_s).reject(&:empty?)
32
+
33
+ "$#{key}: (#{values.join(',')},);"
19
34
  when Hash
20
35
  values =
21
36
  value.map do |k, v|
37
+ next if v.nil?
38
+ next if v.to_s.empty?
39
+
22
40
  "\"#{key_to_scss k}\": #{v}"
23
41
  end
24
42
 
25
43
  "$#{key}: (#{values.join(',')},);"
26
44
  else
45
+ next if value.to_s.empty?
46
+
27
47
  "$#{key}: #{value};"
28
48
  end
29
49
  end.join("\n")
@@ -36,7 +56,7 @@ module Jekyll
36
56
  # @param :key [String]
37
57
  # @return [String]
38
58
  def key_to_scss(key)
39
- key.tr '_', '-'
59
+ key.to_s.tr '_', '-'
40
60
  end
41
61
  end
42
62
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sutty-liquid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.1
4
+ version: 0.11.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - f
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-15 00:00:00.000000000 Z
11
+ date: 2022-11-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fast_blank
@@ -180,7 +180,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
180
180
  - !ruby/object:Gem::Version
181
181
  version: '0'
182
182
  requirements: []
183
- rubygems_version: 3.3.19
183
+ rubygems_version: 3.3.25
184
184
  signing_key:
185
185
  specification_version: 4
186
186
  summary: Liquid filters