sassc 2.1.0-x86-mingw32 → 2.2.0-x86-mingw32

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
  SHA256:
3
- metadata.gz: ef91191f09999bc5603739bed05c03cdea09b5d152c8fa0ec1a0c2fc3055d6df
4
- data.tar.gz: 8b64d27d1314ba96b0b61ff4b201cd2e823b76b9ef3ea7b0314c7cdd480e37ee
3
+ metadata.gz: 86611e090b3290b980b1abe16ebe0bf775be64abfe9f436d92407a51c40fce57
4
+ data.tar.gz: e2bff48f2b486cb8f5b05a4fd8235e9c9bcde639ef5454ca1baed55c49e6c843
5
5
  SHA512:
6
- metadata.gz: 88a5b1685d2271d04b5db79cf4e16212f4a0072f13b692770f8be1fa6aacbf2e1d66b83baffd7cb63b8b402c58059c0fe1c712590ddbf4c5f822e3d5811afa20
7
- data.tar.gz: e452b28b26d48ba55c59ee854a89f8a9766644e858de38d6d13b697483a995a9237ef98863483fe9856558a73af8adb181350580d203dd8ddad9f52753b0b8cc
6
+ metadata.gz: 2a6a2356c2c5a712e4c531b156f787b2a5fc698e4c24bf93b2f1a994474debccc8a03e391dc205dd6da5f8b5622293aa5338770fc745013e38b84171338d3e0c
7
+ data.tar.gz: 2084a6cd8efaa74a0dcd960db2b3a1a5871538ac2b77740fc26de89adb98977f8f5908e55ae944cd5cfb9eb811ad3e338cd74009935a28883c0421b16296680b
data/CHANGELOG.md CHANGED
@@ -1,3 +1,5 @@
1
+ - **2.2.0**
2
+ - [Do not build precompiled gems for Linux](https://github.com/sass/sassc-ruby/pull/145)
1
3
  - **2.1.0**
2
4
  - Equivalent to 2.1.0.pre3
3
5
  - **2.1.0.pre3**
data/Rakefile CHANGED
@@ -18,7 +18,7 @@ Rake::ExtensionTask.new('libsass', gem_spec) do |ext|
18
18
  ext.ext_dir = 'ext'
19
19
  ext.lib_dir = 'lib/sassc'
20
20
  ext.cross_compile = true
21
- ext.cross_platform = %w[x86-mingw32 x64-mingw32 x86-linux x86_64-linux]
21
+ ext.cross_platform = %w[x86-mingw32 x64-mingw32]
22
22
 
23
23
  # Link C++ stdlib statically when building binary gems.
24
24
  ext.cross_config_options << '--enable-static-stdlib'
@@ -38,7 +38,7 @@ task 'gem:native' do
38
38
  # Only one version should be specified, as the shared library is Ruby-agnostic.
39
39
  #
40
40
  # g++-multilib is installed for 64->32-bit cross-compilation.
41
- RakeCompilerDock.sh "sudo apt-get install -y g++-multilib && bundle && gem i rake --no-document && "\
41
+ RakeCompilerDock.sh "sudo apt-get install -y g++-multilib && gem i rake bundler --no-document && bundle && "\
42
42
  "rake clean && rake cross native gem MAKE='nice make -j`nproc`' "\
43
43
  "RUBY_CC_VERSION=2.6.0 CLEAN=1"
44
44
  end
@@ -12,7 +12,11 @@ module SassC
12
12
 
13
13
  list = Native.make_function_list(Script.custom_functions.count)
14
14
 
15
- functions = FunctionWrapper.extend(Script::Functions)
15
+ # use an anonymous class wrapper to avoid mutations in a threaded environment
16
+ functions = Class.new do
17
+ attr_accessor :options
18
+ include Script::Functions
19
+ end.new
16
20
  functions.options = @options
17
21
 
18
22
  Script.custom_functions.each_with_index do |custom_function, i|
@@ -65,11 +69,5 @@ module SassC
65
69
  $stderr.puts "[SassC::FunctionsHandler] #{message}"
66
70
  Native.make_error(message)
67
71
  end
68
-
69
- class FunctionWrapper
70
- class << self
71
- attr_accessor :options
72
- end
73
- end
74
72
  end
75
73
  end
data/lib/sassc/script.rb CHANGED
@@ -4,9 +4,7 @@ module SassC
4
4
  module Script
5
5
 
6
6
  def self.custom_functions
7
- Functions.instance_methods.select do |function|
8
- Functions.public_method_defined?(function)
9
- end
7
+ Functions.public_instance_methods
10
8
  end
11
9
 
12
10
  def self.formatted_function_name(function_name)
data/lib/sassc/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SassC
4
- VERSION = "2.1.0"
4
+ VERSION = "2.2.0"
5
5
  end
@@ -185,6 +185,22 @@ module SassC
185
185
  CSS
186
186
  end
187
187
 
188
+ def test_concurrency
189
+ 10.times do
190
+ threads = []
191
+ 10.times do |i|
192
+ threads << Thread.new(i) do |id|
193
+ out = Engine.new("div { url: inspect_options(); }", {test_key1: 'test_value', test_key2: id}).render
194
+ assert_match /test_key1/, out
195
+ assert_match /test_key2/, out
196
+ assert_match /test_value/, out
197
+ assert_match /#{id}/, out
198
+ end
199
+ end
200
+ threads.each(&:join)
201
+ end
202
+ end
203
+
188
204
  private
189
205
 
190
206
  def assert_sass(sass, expected_css)
@@ -279,6 +295,10 @@ module SassC
279
295
  return argument
280
296
  end
281
297
 
298
+ def inspect_options
299
+ SassC::Script::Value::String.new(self.options.inspect, :string)
300
+ end
301
+
282
302
  def returns_sass_value
283
303
  return SassC::Script::Value::Color.new(red: 0, green: 0, blue: 0)
284
304
  end
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: 2.1.0
4
+ version: 2.2.0
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - Ryan Boland
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-19 00:00:00.000000000 Z
11
+ date: 2019-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest