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 +4 -4
- data/CHANGELOG.md +2 -0
- data/Rakefile +2 -2
- data/lib/sassc/functions_handler.rb +5 -7
- data/lib/sassc/script.rb +1 -3
- data/lib/sassc/version.rb +1 -1
- data/test/functions_test.rb +20 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c51509445f7bb5182665508d1e090ea2e989c55a5dbd91f93b03cb242d803315
|
4
|
+
data.tar.gz: 2f15a40ec41ba220242351e6c9577a19bdd3da8d965a1d0478d96b8db1d25880
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 993280c3116214a5bb890c3a58351bbff47d8a9b44145333b4133d43809f78d410933109521daf0392c4d90c48ed4c791c0df0c4dc0374f89475e79455189f3a
|
7
|
+
data.tar.gz: dff9c98ea116f7c22e2a49071b2eab06630893e29c80f3d0a468d93a800325d16b67498d1899fb1a0d65d3301f1d50af08bd9585c31f56529b94a3c053f204aa
|
data/CHANGELOG.md
CHANGED
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
|
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 &&
|
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
|
-
|
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
data/lib/sassc/version.rb
CHANGED
data/test/functions_test.rb
CHANGED
@@ -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.
|
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-
|
11
|
+
date: 2019-08-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|