sassc-embedded 1.77.5 → 1.77.7
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 +4 -4
- data/lib/sassc/embedded/version.rb +1 -1
- data/lib/sassc/embedded.rb +54 -41
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4a5084e30e04703dd21157b4dd3bf32abee7f789e939056a033bc4ddb4c2b1a2
|
4
|
+
data.tar.gz: eb1f8e6e1ce7ea90364fccbd4241fb5ccb677ae29a11ed385ec8c1bec068ae85
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a1bc6dc872c8cb0ebec80c1cc4d7550b62445515a3e6eca3d510094aadc0c48ce8d213ad5b31934501150b3f771efcdc931560befb87b8c827f74a0cb80fe4e
|
7
|
+
data.tar.gz: d9012320b9955c2aea7012bd11d0874dbf3b68ff807e6b7b5f395b22e7b8e4bbc75f48c38c9618fd2da669fd093193c61c257afd0eebc1507cba5a2ab792a0a4
|
data/lib/sassc/embedded.rb
CHANGED
@@ -231,7 +231,7 @@ module SassC
|
|
231
231
|
|
232
232
|
private_constant :FileImporter
|
233
233
|
|
234
|
-
|
234
|
+
module FileSystemImporter
|
235
235
|
class << self
|
236
236
|
def resolve_path(path, from_import)
|
237
237
|
ext = File.extname(path)
|
@@ -308,6 +308,7 @@ module SassC
|
|
308
308
|
def initialize(importer)
|
309
309
|
@importer = importer
|
310
310
|
@importer_results = {}
|
311
|
+
@importer_result = nil
|
311
312
|
@file_url = nil
|
312
313
|
end
|
313
314
|
|
@@ -322,28 +323,29 @@ module SassC
|
|
322
323
|
|
323
324
|
if containing_url.include?('?')
|
324
325
|
canonical_url = Uri.path_to_file_url(File.absolute_path(path, parent_dir))
|
325
|
-
|
326
|
-
canonical_url
|
327
|
-
else
|
326
|
+
unless @importer_results.key?(canonical_url)
|
328
327
|
@file_url = resolve_file_url(path, parent_dir, context.from_import)
|
329
|
-
|
328
|
+
return
|
330
329
|
end
|
331
330
|
else
|
332
331
|
imports = @importer.imports(path, parent_path)
|
333
332
|
imports = [SassC::Importer::Import.new(path)] if imports.nil?
|
334
333
|
imports = [imports] unless imports.is_a?(Array)
|
335
334
|
canonical_url = imports_to_native(imports, parent_dir, context.from_import, url, containing_url)
|
336
|
-
|
337
|
-
canonical_url
|
338
|
-
else
|
335
|
+
unless @importer_results.key?(canonical_url)
|
339
336
|
@file_url = canonical_url
|
340
|
-
|
337
|
+
return
|
341
338
|
end
|
342
339
|
end
|
340
|
+
|
341
|
+
@importer_result = @importer_results.delete(canonical_url)
|
342
|
+
canonical_url
|
343
343
|
end
|
344
344
|
|
345
|
-
def load(
|
346
|
-
@
|
345
|
+
def load(_canonical_url)
|
346
|
+
importer_result = @importer_result
|
347
|
+
@importer_result = nil
|
348
|
+
importer_result
|
347
349
|
end
|
348
350
|
|
349
351
|
def find_file_url(_url, context)
|
@@ -588,40 +590,51 @@ module SassC
|
|
588
590
|
::URI::RFC3986_PARSER.parse(...)
|
589
591
|
end
|
590
592
|
|
593
|
+
encode_uri_hash = {}
|
594
|
+
decode_uri_hash = {}
|
595
|
+
256.times do |i|
|
596
|
+
c = -[i].pack('C')
|
597
|
+
h = c.unpack1('H')
|
598
|
+
l = c.unpack1('h')
|
599
|
+
pdd = -"%#{h}#{l}"
|
600
|
+
pdu = -"%#{h}#{l.upcase}"
|
601
|
+
pud = -"%#{h.upcase}#{l}"
|
602
|
+
puu = -pdd.upcase
|
603
|
+
encode_uri_hash[c] = puu
|
604
|
+
decode_uri_hash[pdd] = c
|
605
|
+
decode_uri_hash[pdu] = c
|
606
|
+
decode_uri_hash[pud] = c
|
607
|
+
decode_uri_hash[puu] = c
|
608
|
+
end.freeze
|
609
|
+
encode_uri_hash.freeze
|
610
|
+
decode_uri_hash.freeze
|
611
|
+
|
591
612
|
{
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
613
|
+
uri_path_component: "!$&'()*+,;=:/@",
|
614
|
+
uri_query_component: "!$&'()*+,;=:/?@",
|
615
|
+
uri_component: nil,
|
616
|
+
uri: "!$&'()*+,;=:/?#[]@"
|
596
617
|
}
|
597
|
-
.each do |symbol,
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
end.force_encoding(str.encoding)
|
618
|
+
.each do |symbol, unescaped|
|
619
|
+
encode_regexp = Regexp.new("[^0-9A-Za-z#{Regexp.escape("-._~#{unescaped}")}]", Regexp::NOENCODING)
|
620
|
+
|
621
|
+
define_method(:"encode_#{symbol}") do |str|
|
622
|
+
str.b.gsub(encode_regexp, encode_uri_hash).force_encoding(str.encoding)
|
603
623
|
end
|
604
|
-
end
|
605
624
|
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
define_method(symbol) do |str|
|
620
|
-
str.gsub(regexp) do |match|
|
621
|
-
decoded = [match.reverse].pack('h2')
|
622
|
-
preserve_escaped.include?(decoded) ? match : decoded
|
623
|
-
end.force_encoding(str.encoding)
|
624
|
-
end
|
625
|
+
next if symbol.match?(/_.+_/o)
|
626
|
+
|
627
|
+
decode_regexp = /%[0-9A-Fa-f]{2}/o
|
628
|
+
decode_uri_hash_with_preserve_escaped = if unescaped.nil? || unescaped.empty?
|
629
|
+
decode_uri_hash
|
630
|
+
else
|
631
|
+
decode_uri_hash.to_h do |key, value|
|
632
|
+
[key, unescaped.include?(value) ? key : value]
|
633
|
+
end.freeze
|
634
|
+
end
|
635
|
+
|
636
|
+
define_method(:"decode_#{symbol}") do |str|
|
637
|
+
str.gsub(decode_regexp, decode_uri_hash_with_preserve_escaped).force_encoding(str.encoding)
|
625
638
|
end
|
626
639
|
end
|
627
640
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sassc-embedded
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.77.
|
4
|
+
version: 1.77.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- なつき
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-07-
|
11
|
+
date: 2024-07-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sass-embedded
|
@@ -79,7 +79,7 @@ licenses:
|
|
79
79
|
metadata:
|
80
80
|
bug_tracker_uri: https://github.com/sass-contrib/sassc-embedded-shim-ruby/issues
|
81
81
|
documentation_uri: https://rubydoc.info/gems/sassc
|
82
|
-
source_code_uri: https://github.com/sass-contrib/sassc-embedded-shim-ruby/tree/v1.77.
|
82
|
+
source_code_uri: https://github.com/sass-contrib/sassc-embedded-shim-ruby/tree/v1.77.7
|
83
83
|
funding_uri: https://github.com/sponsors/ntkme
|
84
84
|
rubygems_mfa_required: 'true'
|
85
85
|
post_install_message:
|