sassc 1.10.1 → 1.11.0

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.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -2
  3. data/ext/libsass/.github/CONTRIBUTING.md +65 -0
  4. data/ext/libsass/.github/ISSUE_TEMPLATE.md +29 -0
  5. data/ext/libsass/Makefile +8 -3
  6. data/ext/libsass/Makefile.conf +28 -22
  7. data/ext/libsass/Readme.md +14 -7
  8. data/ext/libsass/configure.ac +5 -8
  9. data/ext/libsass/docs/api-context-internal.md +3 -0
  10. data/ext/libsass/docs/api-context.md +7 -0
  11. data/ext/libsass/docs/api-doc.md +4 -0
  12. data/ext/libsass/docs/api-importer.md +2 -0
  13. data/ext/libsass/docs/api-value-example.md +55 -0
  14. data/ext/libsass/docs/api-value.md +49 -22
  15. data/ext/libsass/docs/implementations.md +4 -0
  16. data/ext/libsass/include/sass/base.h +5 -4
  17. data/ext/libsass/include/sass/context.h +3 -0
  18. data/ext/libsass/include/sass/values.h +28 -27
  19. data/ext/libsass/include/sass/version.h +1 -1
  20. data/ext/libsass/include/sass2scss.h +1 -1
  21. data/ext/libsass/script/ci-build-libsass +3 -3
  22. data/ext/libsass/script/ci-install-deps +12 -3
  23. data/ext/libsass/src/ast.cpp +321 -212
  24. data/ext/libsass/src/ast.hpp +273 -165
  25. data/ext/libsass/src/ast_factory.hpp +4 -5
  26. data/ext/libsass/src/ast_fwd_decl.hpp +8 -7
  27. data/ext/libsass/src/bind.cpp +2 -7
  28. data/ext/libsass/src/bind.hpp +0 -1
  29. data/ext/libsass/src/check_nesting.cpp +379 -0
  30. data/ext/libsass/src/check_nesting.hpp +60 -0
  31. data/ext/libsass/src/constants.cpp +7 -6
  32. data/ext/libsass/src/constants.hpp +2 -1
  33. data/ext/libsass/src/context.cpp +7 -1
  34. data/ext/libsass/src/context.hpp +1 -1
  35. data/ext/libsass/src/cssize.cpp +76 -32
  36. data/ext/libsass/src/cssize.hpp +7 -8
  37. data/ext/libsass/src/debugger.hpp +70 -40
  38. data/ext/libsass/src/error_handling.cpp +15 -2
  39. data/ext/libsass/src/error_handling.hpp +19 -0
  40. data/ext/libsass/src/eval.cpp +107 -161
  41. data/ext/libsass/src/eval.hpp +12 -8
  42. data/ext/libsass/src/expand.cpp +81 -74
  43. data/ext/libsass/src/expand.hpp +13 -12
  44. data/ext/libsass/src/extend.cpp +149 -142
  45. data/ext/libsass/src/extend.hpp +10 -3
  46. data/ext/libsass/src/file.cpp +2 -1
  47. data/ext/libsass/src/functions.cpp +96 -59
  48. data/ext/libsass/src/functions.hpp +2 -2
  49. data/ext/libsass/src/inspect.cpp +33 -45
  50. data/ext/libsass/src/inspect.hpp +7 -7
  51. data/ext/libsass/src/json.cpp +17 -5
  52. data/ext/libsass/src/lexer.cpp +3 -3
  53. data/ext/libsass/src/listize.cpp +10 -10
  54. data/ext/libsass/src/listize.hpp +3 -3
  55. data/ext/libsass/src/node.cpp +30 -30
  56. data/ext/libsass/src/node.hpp +13 -13
  57. data/ext/libsass/src/operation.hpp +21 -19
  58. data/ext/libsass/src/output.cpp +48 -103
  59. data/ext/libsass/src/output.hpp +0 -1
  60. data/ext/libsass/src/parser.cpp +161 -133
  61. data/ext/libsass/src/parser.hpp +10 -7
  62. data/ext/libsass/src/remove_placeholders.cpp +6 -6
  63. data/ext/libsass/src/remove_placeholders.hpp +1 -1
  64. data/ext/libsass/src/sass.cpp +21 -0
  65. data/ext/libsass/src/sass.hpp +8 -1
  66. data/ext/libsass/src/sass2scss.cpp +14 -3
  67. data/ext/libsass/src/sass_context.cpp +69 -24
  68. data/ext/libsass/src/sass_context.hpp +3 -0
  69. data/ext/libsass/src/source_map.cpp +22 -10
  70. data/ext/libsass/src/to_value.cpp +2 -2
  71. data/ext/libsass/src/to_value.hpp +1 -1
  72. data/ext/libsass/src/units.hpp +3 -1
  73. data/ext/libsass/src/util.cpp +20 -16
  74. data/ext/libsass/src/util.hpp +2 -1
  75. data/ext/libsass/win/libsass.targets +2 -0
  76. data/ext/libsass/win/libsass.vcxproj.filters +6 -0
  77. data/lib/sassc/engine.rb +5 -0
  78. data/lib/sassc/native/native_functions_api.rb +13 -1
  79. data/lib/sassc/script/value_conversion.rb +11 -1
  80. data/lib/sassc/script/value_conversion/list.rb +23 -0
  81. data/lib/sassc/version.rb +1 -1
  82. data/test/engine_test.rb +18 -2
  83. data/test/functions_test.rb +30 -0
  84. data/test/native_test.rb +1 -1
  85. metadata +8 -3
@@ -77,7 +77,9 @@ namespace Sass {
77
77
  ss << "Incompatible units: ";
78
78
  ss << "'" << unit_to_string(a) << "' and ";
79
79
  ss << "'" << unit_to_string(b) << "'";
80
- msg = ss.str().c_str();
80
+ // hold on to string on stack!
81
+ std::string str(ss.str());
82
+ msg = str.c_str();
81
83
  }
82
84
  virtual const char* what() const throw()
83
85
  {
@@ -145,13 +145,20 @@ namespace Sass {
145
145
  return out;
146
146
  }
147
147
 
148
- // bell character is replaces with space
148
+ // bell characters are replaced with spaces
149
+ void newline_to_space(std::string& str)
150
+ {
151
+ std::replace(str.begin(), str.end(), '\n', ' ');
152
+ }
153
+
154
+ // bell characters are replaced with spaces
155
+ // also eats spaces after line-feeds (ltrim)
149
156
  std::string string_to_output(const std::string& str)
150
157
  {
151
158
  std::string out("");
152
159
  bool lf = false;
153
160
  for (auto i : str) {
154
- if (i == 10) {
161
+ if (i == '\n') {
155
162
  out += ' ';
156
163
  lf = true;
157
164
  } else if (!(lf && isspace(i))) {
@@ -214,7 +221,7 @@ namespace Sass {
214
221
  return quote_mark;
215
222
  }
216
223
 
217
- std::string unquote(const std::string& s, char* qd, bool keep_utf8_sequences)
224
+ std::string unquote(const std::string& s, char* qd, bool keep_utf8_sequences, bool strict)
218
225
  {
219
226
 
220
227
  // not enough room for quotes
@@ -267,7 +274,7 @@ namespace Sass {
267
274
  // assert invalid code points
268
275
  if (cp == 0) cp = 0xFFFD;
269
276
  // replace bell character
270
- // if (cp == 10) cp = 32;
277
+ // if (cp == '\n') cp = 32;
271
278
 
272
279
  // use a very simple approach to convert via utf8 lib
273
280
  // maybe there is a more elegant way; maybe we shoud
@@ -292,6 +299,9 @@ namespace Sass {
292
299
  // error("Unescaped delimiter in string to unquote found. [" + s + "]", ParserState("[UNQUOTE]"));
293
300
  // }
294
301
  else {
302
+ if (strict && !skipped) {
303
+ if (s[i] == q) return s;
304
+ }
295
305
  skipped = false;
296
306
  unq.push_back(s[i]);
297
307
  }
@@ -330,7 +340,7 @@ namespace Sass {
330
340
  int cp = utf8::next(it, end);
331
341
 
332
342
  // in case of \r, check if the next in sequence
333
- // is \n and then advance the iterator.
343
+ // is \n and then advance the iterator and skip \r
334
344
  if (cp == '\r' && it < end && utf8::peek_next(it, end) == '\n') {
335
345
  cp = utf8::next(it, end);
336
346
  }
@@ -451,7 +461,7 @@ namespace Sass {
451
461
 
452
462
  Block* b = r->block();
453
463
 
454
- bool hasSelectors = static_cast<Selector_List*>(r->selector())->length() > 0;
464
+ bool hasSelectors = static_cast<CommaSequence_Selector*>(r->selector())->length() > 0;
455
465
 
456
466
  if (!hasSelectors) {
457
467
  return false;
@@ -463,6 +473,8 @@ namespace Sass {
463
473
  Statement* stm = (*b)[i];
464
474
  if (dynamic_cast<Directive*>(stm)) {
465
475
  return true;
476
+ } else if (Declaration* d = dynamic_cast<Declaration*>(stm)) {
477
+ return isPrintable(d, style);
466
478
  } else if (dynamic_cast<Has_Block*>(stm)) {
467
479
  Block* pChildBlock = ((Has_Block*)stm)->block();
468
480
  if (isPrintable(pChildBlock, style)) {
@@ -477,8 +489,6 @@ namespace Sass {
477
489
  if (c->is_important()) {
478
490
  hasDeclarations = c->is_important();
479
491
  }
480
- } else if (Declaration* d = dynamic_cast<Declaration*>(stm)) {
481
- return isPrintable(d, style);
482
492
  } else {
483
493
  hasDeclarations = true;
484
494
  }
@@ -516,19 +526,13 @@ namespace Sass {
516
526
 
517
527
  Block* b = f->block();
518
528
 
519
- // bool hasSelectors = f->selector() && static_cast<Selector_List*>(f->selector())->length() > 0;
529
+ // bool hasSelectors = f->selector() && static_cast<CommaSequence_Selector*>(f->selector())->length() > 0;
520
530
 
521
531
  bool hasDeclarations = false;
522
532
  bool hasPrintableChildBlocks = false;
523
533
  for (size_t i = 0, L = b->length(); i < L; ++i) {
524
534
  Statement* stm = (*b)[i];
525
- if (!stm->is_hoistable()) {
526
- // If a statement isn't hoistable, the selectors apply to it. If there are no selectors (a selector list of length 0),
527
- // then those statements aren't considered printable. That means there was a placeholder that was removed. If the selector
528
- // is NULL, then that means there was never a wrapping selector and it is printable (think of a top level media block with
529
- // a declaration in it).
530
- }
531
- else if (typeid(*stm) == typeid(Declaration) || typeid(*stm) == typeid(Directive)) {
535
+ if (typeid(*stm) == typeid(Declaration) || typeid(*stm) == typeid(Directive)) {
532
536
  hasDeclarations = true;
533
537
  }
534
538
  else if (dynamic_cast<Has_Block*>(stm)) {
@@ -26,9 +26,10 @@ namespace Sass {
26
26
  std::string evacuate_escapes(const std::string& str);
27
27
  std::string string_to_output(const std::string& str);
28
28
  std::string comment_to_string(const std::string& text);
29
+ void newline_to_space(std::string& str);
29
30
 
30
31
  std::string quote(const std::string&, char q = 0);
31
- std::string unquote(const std::string&, char* q = 0, bool keep_utf8_sequences = false);
32
+ std::string unquote(const std::string&, char* q = 0, bool keep_utf8_sequences = false, bool strict = true);
32
33
  char detect_best_quotemark(const char* s, char qm = '"');
33
34
 
34
35
  bool is_hex_doublet(double n);
@@ -18,6 +18,7 @@
18
18
  <ClInclude Include="$(LIBSASS_HEADERS_DIR)\base64vlq.hpp" />
19
19
  <ClInclude Include="$(LIBSASS_HEADERS_DIR)\bind.hpp" />
20
20
  <ClInclude Include="$(LIBSASS_HEADERS_DIR)\b64\cencode.h" />
21
+ <ClInclude Include="$(LIBSASS_HEADERS_DIR)\check_nesting.hpp" />
21
22
  <ClInclude Include="$(LIBSASS_HEADERS_DIR)\color_maps.hpp" />
22
23
  <ClInclude Include="$(LIBSASS_HEADERS_DIR)\constants.hpp" />
23
24
  <ClInclude Include="$(LIBSASS_HEADERS_DIR)\context.hpp" />
@@ -71,6 +72,7 @@
71
72
  <ClCompile Include="$(LIBSASS_SRC_DIR)\bind.cpp" />
72
73
  <ClCompile Condition="$(VisualStudioVersion) &lt; 14.0" Include="$(LIBSASS_SRC_DIR)\c99func.c" />
73
74
  <ClCompile Include="$(LIBSASS_SRC_DIR)\cencode.c" />
75
+ <ClCompile Include="$(LIBSASS_SRC_DIR)\check_nesting.cpp" />
74
76
  <ClCompile Include="$(LIBSASS_SRC_DIR)\color_maps.cpp" />
75
77
  <ClCompile Include="$(LIBSASS_SRC_DIR)\constants.cpp" />
76
78
  <ClCompile Include="$(LIBSASS_SRC_DIR)\context.cpp" />
@@ -66,6 +66,9 @@
66
66
  <ClInclude Include="$(LIBSASS_HEADERS_DIR)\bind.hpp">
67
67
  <Filter>Headers</Filter>
68
68
  </ClInclude>
69
+ <ClInclude Include="$(LIBSASS_HEADERS_DIR)\check_nesting.hpp">
70
+ <Filter>Headers</Filter>
71
+ </ClInclude>
69
72
  <ClInclude Include="$(LIBSASS_HEADERS_DIR)\color_maps.hpp">
70
73
  <Filter>Headers</Filter>
71
74
  </ClInclude>
@@ -224,6 +227,9 @@
224
227
  <ClCompile Include="$(LIBSASS_SRC_DIR)\cencode.c">
225
228
  <Filter>Sources</Filter>
226
229
  </ClCompile>
230
+ <ClCompile Include="$(LIBSASS_SRC_DIR)\check_nesting.cpp">
231
+ <Filter>Sources</Filter>
232
+ </ClCompile>
227
233
  <ClCompile Include="$(LIBSASS_SRC_DIR)\color_maps.cpp">
228
234
  <Filter>Sources</Filter>
229
235
  </ClCompile>
@@ -32,6 +32,7 @@ module SassC
32
32
  Native.option_set_source_map_file(native_options, source_map_file) if source_map_file
33
33
  Native.option_set_source_map_embed(native_options, true) if source_map_embed?
34
34
  Native.option_set_source_map_contents(native_options, true) if source_map_contents?
35
+ Native.option_set_omit_source_map_url(native_options, true) if omit_source_map_url?
35
36
 
36
37
  import_handler.setup(native_options)
37
38
  functions_handler.setup(native_options)
@@ -98,6 +99,10 @@ module SassC
98
99
  @options[:source_map_contents]
99
100
  end
100
101
 
102
+ def omit_source_map_url?
103
+ @options[:omit_source_map_url]
104
+ end
105
+
101
106
  def source_map_file
102
107
  @options[:source_map_file]
103
108
  end
@@ -26,7 +26,10 @@ module SassC
26
26
 
27
27
  # ADDAPI union Sass_Value* ADDCALL sass_make_map (size_t len);
28
28
  attach_function :sass_make_map, [:size_t], :sass_value_ptr
29
-
29
+
30
+ # ADDAPI union Sass_Value* ADDCALL sass_make_list (size_t len, enum Sass_Separator sep)
31
+ attach_function :sass_make_list, [:size_t, SassSeparator], :sass_value_ptr
32
+
30
33
  # ADDAPI union Sass_Value* ADDCALL sass_make_boolean (boolean val);
31
34
  attach_function :sass_make_boolean, [:bool], :sass_value_ptr
32
35
 
@@ -45,6 +48,15 @@ module SassC
45
48
  # ADDAPI size_t ADDCALL sass_map_get_length (const union Sass_Value* v);
46
49
  attach_function :sass_map_get_length, [:sass_value_ptr], :size_t
47
50
 
51
+ # ADDAPI union Sass_Value* ADDCALL sass_list_get_value (const union Sass_Value* v, size_t i);
52
+ attach_function :sass_list_get_value, [:sass_value_ptr, :size_t], :sass_value_ptr
53
+
54
+ # ADDAPI void ADDCALL sass_list_set_value (union Sass_Value* v, size_t i, union Sass_Value* value);
55
+ attach_function :sass_list_set_value, [:sass_value_ptr, :size_t, :sass_value_ptr], :void
56
+
57
+ # ADDAPI size_t ADDCALL sass_list_get_length (const union Sass_Value* v);
58
+ attach_function :sass_list_get_length, [:sass_value_ptr], :size_t
59
+
48
60
  # ADDAPI union Sass_Value* ADDCALL sass_make_error (const char* msg);
49
61
  attach_function :sass_make_error, [:string], :sass_value_ptr
50
62
 
@@ -41,6 +41,13 @@ module SassC
41
41
 
42
42
  argument = Sass::Script::Value::Map.new values
43
43
  argument
44
+ when :sass_list
45
+ length = Native::list_get_length(native_value)
46
+ items = (0...length).map do |index|
47
+ native_item = Native::list_get_value(native_value, index)
48
+ from_native(native_item, options)
49
+ end
50
+ Sass::Script::Value::List.new(items, :space)
44
51
  else
45
52
  raise UnsupportedValue.new("Sass argument of type #{value_tag} unsupported")
46
53
  end
@@ -56,6 +63,8 @@ module SassC
56
63
  Number.new(value).to_native
57
64
  when "Map"
58
65
  Map.new(value).to_native
66
+ when "List"
67
+ List.new(value).to_native
59
68
  when "Bool"
60
69
  Bool.new(value).to_native
61
70
  else
@@ -71,4 +80,5 @@ require_relative "value_conversion/string"
71
80
  require_relative "value_conversion/number"
72
81
  require_relative "value_conversion/color"
73
82
  require_relative "value_conversion/map"
74
- require_relative "value_conversion/bool"
83
+ require_relative "value_conversion/list"
84
+ require_relative "value_conversion/bool"
@@ -0,0 +1,23 @@
1
+ module SassC
2
+ module Script
3
+ module ValueConversion
4
+ SEPARATORS = {
5
+ space: :sass_space,
6
+ comma: :sass_comma
7
+ }
8
+
9
+ class List < Base
10
+ def to_native
11
+ list = @value.to_a
12
+ sep = SEPARATORS.fetch(@value.separator)
13
+ native_list = Native::make_list(list.size, sep)
14
+ list.each_with_index do |item, index|
15
+ native_item = ValueConversion.to_native(item)
16
+ Native::list_set_value(native_list, index, native_item)
17
+ end
18
+ native_list
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,3 +1,3 @@
1
1
  module SassC
2
- VERSION = "1.10.1"
2
+ VERSION = "1.11.0"
3
3
  end
@@ -154,8 +154,8 @@ SCSS
154
154
  \t\t"@import 'admin/text-color';\\n\\np {\\n padding: 20px;\\n}\\n",
155
155
  \t\t"p {\\n color: red;\\n}\\n"
156
156
  \t],
157
- \t"mappings": "ACAA,AAAA,CAAC,CAAC;EACA,KAAK,EAAE,GAAI,GACZ;;ADAD,AAAA,CAAC,CAAC;EACA,OAAO,EAAE,IAAK,GACf",
158
- \t"names": []
157
+ \t"names": [],
158
+ \t"mappings": "ACAA,AAAA,CAAC,CAAC;EACA,KAAK,EAAE,GAAG,GACX;;ADAD,AAAA,CAAC,CAAC;EACA,OAAO,EAAE,IAAI,GACd"
159
159
  }
160
160
  MAP
161
161
  end
@@ -166,6 +166,22 @@ MAP
166
166
  assert_raises(NotRenderedError) { engine.source_map }
167
167
  end
168
168
 
169
+ def test_omit_source_map_url
170
+ temp_file('style.scss', <<SCSS)
171
+ p {
172
+ padding: 20px;
173
+ }
174
+ SCSS
175
+ engine = Engine.new(File.read('style.scss'), {
176
+ source_map_file: "style.scss.map",
177
+ source_map_contents: true,
178
+ omit_source_map_url: true
179
+ })
180
+ output = engine.render
181
+
182
+ refute_match /sourceMappingURL/, output
183
+ end
184
+
169
185
  def test_load_paths
170
186
  temp_dir("included_1")
171
187
  temp_dir("included_2")
@@ -119,6 +119,7 @@ module SassC
119
119
  end
120
120
 
121
121
  def test_function_with_unsupported_tag
122
+ skip('What are other unsupported tags?')
122
123
  engine = Engine.new("div {url: function_with_unsupported_tag(());}")
123
124
 
124
125
  exception = assert_raises(SassC::SyntaxError) do
@@ -166,6 +167,23 @@ module SassC
166
167
  CSS
167
168
  end
168
169
 
170
+ def test_function_that_returns_a_sass_list
171
+ assert_sass <<-SCSS, <<-CSS
172
+ $my-list: returns-sass-list();
173
+ div { width: nth( $my-list, 2 ); }
174
+ SCSS
175
+ div { width: 20; }
176
+ CSS
177
+ end
178
+
179
+ def test_function_that_takes_a_sass_list
180
+ assert_sass <<-SCSS, <<-CSS
181
+ div { width: nth(inspect-list((10 20 30)), 2); }
182
+ SCSS
183
+ div { width: 20; }
184
+ CSS
185
+ end
186
+
169
187
  private
170
188
 
171
189
  def assert_sass(sass, expected_css)
@@ -250,6 +268,11 @@ module SassC
250
268
  return argument
251
269
  end
252
270
 
271
+ def inspect_list(argument)
272
+ raise StandardError.new "passed value is not a Sass::Script::Value::List" unless argument.is_a? Sass::Script::Value::List
273
+ return argument
274
+ end
275
+
253
276
  def returns_sass_value
254
277
  return Sass::Script::Value::Color.new(red: 0, green: 0, blue: 0)
255
278
  end
@@ -263,6 +286,13 @@ module SassC
263
286
  return map
264
287
  end
265
288
 
289
+ def returns_sass_list
290
+ numbers = [10, 20, 30].map do |n|
291
+ Sass::Script::Value::Number.new(n, '')
292
+ end
293
+ Sass::Script::Value::List.new(numbers, :space)
294
+ end
295
+
266
296
  module Compass
267
297
  def stylesheet_path(path)
268
298
  Script::String.new("/css/#{path.value}", :identifier)
@@ -9,7 +9,7 @@ module SassC
9
9
 
10
10
  class General < MiniTest::Test
11
11
  def test_it_reports_the_libsass_version
12
- assert_equal "3.3.6", Native.version
12
+ assert_equal "3.4.0", Native.version
13
13
  end
14
14
  end
15
15
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sassc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.1
4
+ version: 1.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Boland
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-04 00:00:00.000000000 Z
11
+ date: 2016-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -140,6 +140,8 @@ files:
140
140
  - ext/Rakefile
141
141
  - ext/libsass/.editorconfig
142
142
  - ext/libsass/.gitattributes
143
+ - ext/libsass/.github/CONTRIBUTING.md
144
+ - ext/libsass/.github/ISSUE_TEMPLATE.md
143
145
  - ext/libsass/.gitignore
144
146
  - ext/libsass/.travis.yml
145
147
  - ext/libsass/COPYING
@@ -223,6 +225,8 @@ files:
223
225
  - ext/libsass/src/bind.hpp
224
226
  - ext/libsass/src/c99func.c
225
227
  - ext/libsass/src/cencode.c
228
+ - ext/libsass/src/check_nesting.cpp
229
+ - ext/libsass/src/check_nesting.hpp
226
230
  - ext/libsass/src/color_maps.cpp
227
231
  - ext/libsass/src/color_maps.hpp
228
232
  - ext/libsass/src/constants.cpp
@@ -345,6 +349,7 @@ files:
345
349
  - lib/sassc/script/value_conversion/base.rb
346
350
  - lib/sassc/script/value_conversion/bool.rb
347
351
  - lib/sassc/script/value_conversion/color.rb
352
+ - lib/sassc/script/value_conversion/list.rb
348
353
  - lib/sassc/script/value_conversion/map.rb
349
354
  - lib/sassc/script/value_conversion/number.rb
350
355
  - lib/sassc/script/value_conversion/string.rb
@@ -380,7 +385,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
380
385
  version: '0'
381
386
  requirements: []
382
387
  rubyforge_project:
383
- rubygems_version: 2.5.1
388
+ rubygems_version: 2.6.8
384
389
  signing_key:
385
390
  specification_version: 4
386
391
  summary: Use libsass with Ruby!