sassc 2.1.0 → 2.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
  SHA256:
3
- metadata.gz: a6eed709e963e71fd894af96c161753ff8fdf8634864ba9e31e607e3c4604fec
4
- data.tar.gz: 2c8a3a69bfea15a35bbf62eff0668e89d4a67cf7b417a09b42722282382e9eb8
3
+ metadata.gz: c51509445f7bb5182665508d1e090ea2e989c55a5dbd91f93b03cb242d803315
4
+ data.tar.gz: 2f15a40ec41ba220242351e6c9577a19bdd3da8d965a1d0478d96b8db1d25880
5
5
  SHA512:
6
- metadata.gz: 77f8735c70d3f35d48e1f26e83ea523952cc9f61d20e01949be931047c2a46a921f1765fcc51d3a4098b7b89905085b7978c2b78e1dd4dfea6da91ed8e2f066b
7
- data.tar.gz: c6edaa983b44c8f43ca13219943a0edad820c8f6d6481bfea7fb2f2ae30950e32878bbc9b9443622be1b47f83c6c923470ba68590742884a84f2565deacd1039
6
+ metadata.gz: 993280c3116214a5bb890c3a58351bbff47d8a9b44145333b4133d43809f78d410933109521daf0392c4d90c48ed4c791c0df0c4dc0374f89475e79455189f3a
7
+ data.tar.gz: dff9c98ea116f7c22e2a49071b2eab06630893e29c80f3d0a468d93a800325d16b67498d1899fb1a0d65d3301f1d50af08bd9585c31f56529b94a3c053f204aa
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: ruby
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