sassc-embedded 1.77.2 → 1.77.4

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: 5f6d451aad32416a320f1c23c4f312633e058955744c0da5a5e19ac967c2677d
4
- data.tar.gz: 4d21e4f1aa6a0d79d697237e1825a4b770d4b85472c7dc2e762dcbcf3c842b51
3
+ metadata.gz: dd81bac6ef9d2f86bf538c0143e19267e892a907d8a3b7d3547ce900b6fb8e08
4
+ data.tar.gz: 6c9592d7f4f8be038427f7ed893b6bb235f598a7d8a9cf34091b453c325b8551
5
5
  SHA512:
6
- metadata.gz: 2dfd35f4e9053a3a51c89197c0079a877b20d8ee9f76cde280f20a40382452220e4afe735777c4fa99b7fd65e1d50c2aeef2aa05bba05734ff771c3c13b9c898
7
- data.tar.gz: 8cde54ce2caca35192fcfd38c1f6244823c299924150418779e21e18635b7f3c70b1baef7a3cb8528d62ac598cfebd6388a51579a099aee1998351119e4c7ccd
6
+ metadata.gz: 4e03d2ba0d17fab117b33f49a03b89ac90f75b49afb0c42db58c5e8a9d42f62737f7c6f81db5eef3a8da77e045b7a686ca036e5475f906a30758388e5624b5b7
7
+ data.tar.gz: 12ff6dc22c74b77adef326df8a4f0c102bc34114e9b815e6be65a53307ec9271a040400d3965baad93c0387a7f909c31c3c2e1e1549956d22cb680fc3caf3106
@@ -2,6 +2,6 @@
2
2
 
3
3
  module SassC
4
4
  module Embedded
5
- VERSION = '1.77.2'
5
+ VERSION = '1.77.4'
6
6
  end
7
7
  end
@@ -552,32 +552,45 @@ module SassC
552
552
  module_function
553
553
 
554
554
  def parse(...)
555
- ::URI.parse(...)
555
+ ::URI::RFC3986_PARSER.parse(...)
556
556
  end
557
557
 
558
- def encode_uri_path_component(str)
559
- str.b.gsub(%r{[^0-9A-Za-z\-._~!$&'()*+,;=:@/]}n) do |match|
560
- format('%%%02X', match.unpack1('C'))
561
- end.force_encoding(str.encoding)
562
- end
563
-
564
- def encode_uri_query_component(str)
565
- str.b.gsub(%r{[^0-9A-Za-z\-._~!$&'()*+,;=:@/?]}n) do |match|
566
- format('%%%02X', match.unpack1('C'))
567
- end.force_encoding(str.encoding)
568
- end
569
-
570
- def encode_uri_component(str)
571
- str.b.gsub(/[^0-9A-Za-z\-._~]/n) do |match|
572
- format('%%%02X', match.unpack1('C'))
573
- end.force_encoding(str.encoding)
574
- end
558
+ {
559
+ encode_uri_path_component: "!$&'()*+,;=:/@",
560
+ encode_uri_query_component: "!$&'()*+,;=:/?@",
561
+ encode_uri_component: nil,
562
+ encode_uri: "!$&'()*+,;=:/?#[]@"
563
+ }
564
+ .each do |symbol, extra_unescaped|
565
+ regexp = Regexp.new("[^0-9A-Za-z#{Regexp.escape("-._~#{extra_unescaped}")}]", Regexp::NOENCODING)
566
+ define_method(symbol) do |str|
567
+ str.b.gsub(regexp) do |match|
568
+ "%#{match.unpack1('H2').upcase}"
569
+ end.force_encoding(str.encoding)
570
+ end
571
+ end
575
572
 
576
- def decode_uri_component(str)
577
- str.gsub(/%[0-9A-Fa-f]{2}/) do |match|
578
- [match[1, 2]].pack('H2')
573
+ {
574
+ decode_uri_component: nil,
575
+ decode_uri: "!$&'()*+,;=:/?#[]@"
576
+ }
577
+ .each do |symbol, preserve_escaped|
578
+ regexp = /%[0-9A-Fa-f]{2}/o
579
+ if preserve_escaped.nil? || preserve_escaped.empty?
580
+ define_method(symbol) do |str|
581
+ str.gsub(regexp) do |match|
582
+ [match.reverse!].pack('h2')
583
+ end.force_encoding(str.encoding)
584
+ end
585
+ else
586
+ define_method(symbol) do |str|
587
+ str.gsub(regexp) do |match|
588
+ decoded = [match.reverse].pack('h2')
589
+ preserve_escaped.include?(decoded) ? match : decoded
590
+ end.force_encoding(str.encoding)
591
+ end
592
+ end
579
593
  end
580
- end
581
594
 
582
595
  def file_urls_to_relative_url(url, from_url)
583
596
  parse(url).route_from(from_url).to_s
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.2
4
+ version: 1.77.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - なつき
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-02 00:00:00.000000000 Z
11
+ date: 2024-07-05 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.2
82
+ source_code_uri: https://github.com/sass-contrib/sassc-embedded-shim-ruby/tree/v1.77.4
83
83
  funding_uri: https://github.com/sponsors/ntkme
84
84
  rubygems_mfa_required: 'true'
85
85
  post_install_message: