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: 
         
     |