sass-embedded 0.7.12 → 0.7.16

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: af7015aac4279ef9b4ea9a4cca2ca236e1722c70db19e4c21a35c9df64d5667e
4
- data.tar.gz: 8dcf794cff743d2e5f24b7bcd817d7bcef2867549fe0eda94634966a96e8e8c4
3
+ metadata.gz: 30cfad0f8ab506763c7651c5f603279bbba1a533584298baf3095fa3052c3297
4
+ data.tar.gz: bc9c76ed6991d5663fe2c62b445b9e7a498eb791599c9d8523b97add5bb44202
5
5
  SHA512:
6
- metadata.gz: 76a76058b210b7ae057ed71dd25f12625a04396c84c447dd8075ca4ff6ca4d52df009243cbd110009902fa727489e79bd20b1798670222cbe3c312f5ade5aa7d
7
- data.tar.gz: f5d40d128f9c9fbaee17728c9092b6b6c86f1908f474a94e6b43918cb2db389154fa246d4b2b9ee083e916d62ba19f9aec767e35cd8d7c39c25462e90a3f9d5c
6
+ metadata.gz: c83c480f0a41a6b7603989613e43009ec0ed1f36eb160aa6eafe877ef6f319f68274db04065fc7eeb74593fc12bbfbe9a79fddcbcb8d1768d03f3bcf02e6199f
7
+ data.tar.gz: 3caac14ead5a14e165b1759f424b392f353ef7881a50ae78afb0edc22edd7cf9b49fa8c81d52d0f3ecca7832879e5a342c5cecd83d5f407cefb7758c1d20b02d
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # Embedded Sass Host for Ruby
2
2
 
3
3
  [![build](https://github.com/ntkme/embedded-host-ruby/actions/workflows/build.yml/badge.svg)](https://github.com/ntkme/embedded-host-ruby/actions/workflows/build.yml)
4
+ [![gem](https://badge.fury.io/rb/sass-embedded.svg)](https://rubygems.org/gems/sass-embedded)
4
5
 
5
6
  This is a Ruby library that implements the host side of the [Embedded Sass protocol](https://github.com/sass/sass-embedded-protocol).
6
7
 
data/ext/dependencies.rb CHANGED
@@ -5,7 +5,7 @@ module Sass
5
5
  REQUIREMENTS = {
6
6
  'protocolbuffers/protobuf' => '~> 3.17',
7
7
  'sass/embedded-protocol' => '~> 1.0.0-beta.12',
8
- 'sass/dart-sass-embedded' => '~> 1.0.0-beta.9'
8
+ 'sass/dart-sass-embedded' => '~> 1.0.0-beta.10'
9
9
  }.freeze
10
10
  end
11
11
  end
data/ext/extconf.rb CHANGED
@@ -63,7 +63,7 @@ module Sass
63
63
  raise
64
64
  end
65
65
  rescue StandardError
66
- raise "Failed to get: #{uri}"
66
+ raise "Failed to get: #{uri_s}"
67
67
  end
68
68
 
69
69
  def resolve_tag_name(repo, *requirements, gh_release: true)
@@ -74,16 +74,21 @@ module Sass
74
74
  File.basename file.base_uri.to_s
75
75
  end
76
76
  else
77
- headers = {}
78
- headers['Authorization'] = "token #{ENV['GITHUB_TOKEN']}" if ENV['GITHUB_TOKEN']
79
- if gh_release
80
- URI.parse("https://api.github.com/repos/#{repo}/releases?per_page=100").open(headers) do |file|
81
- JSON.parse(file.read).map { |release| release['tag_name'] }
82
- end
83
- else
84
- URI.parse("https://api.github.com/repos/#{repo}/tags?per_page=100").open(headers) do |file|
85
- JSON.parse(file.read).map { |tag| tag['name'] }
77
+ begin
78
+ headers = {}
79
+ headers['Authorization'] = "token #{ENV['GITHUB_TOKEN']}" if ENV['GITHUB_TOKEN']
80
+ if gh_release
81
+ URI.parse("https://api.github.com/repos/#{repo}/releases?per_page=100").open(headers) do |file|
82
+ JSON.parse(file.read).map { |release| release['tag_name'] }
83
+ end
84
+ else
85
+ URI.parse("https://api.github.com/repos/#{repo}/tags?per_page=100").open(headers) do |file|
86
+ JSON.parse(file.read).map { |tag| tag['name'] }
87
+ end
86
88
  end
89
+ rescue OpenURI::HTTPError
90
+ requirements.requirements
91
+ .map { |requirement| requirement.last.to_s.gsub('.pre.', '-') }
87
92
  end
88
93
  .find { |version| Gem::Version.correct?(version) && requirements.satisfied_by?(Gem::Version.new(version)) }
89
94
  &.to_s
data/lib/sass/compile.rb CHANGED
@@ -161,9 +161,13 @@ module Sass
161
161
  end
162
162
 
163
163
  def function_call_response(function_call_request)
164
+ # TODO: convert argument_list to **kwargs
164
165
  EmbeddedProtocol::InboundMessage::FunctionCallResponse.new(
165
166
  id: function_call_request.id,
166
- success: @functions[function_call_request.name].call(*function_call_request.arguments)
167
+ success: @functions[function_call_request.name].call(*function_call_request.arguments),
168
+ accessed_argument_lists: function_call_request.arguments
169
+ .filter { |argument| argument.value == :argument_list }
170
+ .map { |argument| argument.argument_list.id }
167
171
  )
168
172
  rescue StandardError => e
169
173
  EmbeddedProtocol::InboundMessage::FunctionCallResponse.new(
@@ -30,6 +30,10 @@ module Sass
30
30
  @observerable_mutex = Mutex.new
31
31
  @stdin_mutex = Mutex.new
32
32
  @stdin, @stdout, @stderr, @wait_thread = Open3.popen3(DART_SASS_EMBEDDED)
33
+
34
+ @stdin.set_encoding(Encoding::ASCII_8BIT)
35
+ @stdout.set_encoding(Encoding::ASCII_8BIT)
36
+
33
37
  poll do
34
38
  warn(@stderr.readline, uplevel: 1)
35
39
  end
@@ -107,21 +111,24 @@ module Sass
107
111
  end
108
112
 
109
113
  def read_varint(readable)
110
- varint = bits = 0
114
+ value = bits = 0
111
115
  loop do
112
116
  byte = readable.readbyte
113
- varint += (byte & 0x7f) << bits
117
+ value |= (byte & 0x7f) << bits
114
118
  bits += 7
115
- break if byte <= 0x7f
119
+ break if byte < 0x80
116
120
  end
117
- varint
121
+ value
118
122
  end
119
123
 
120
- def write_varint(writeable, varint)
121
- while varint.positive?
122
- writeable.write ((varint > 0x7f ? 0x80 : 0) | (varint & 0x7f)).chr
123
- varint >>= 7
124
+ def write_varint(writeable, value)
125
+ bytes = []
126
+ until value < 0x80
127
+ bytes << (0x80 | (value & 0x7f))
128
+ value >>= 7
124
129
  end
130
+ bytes << value
131
+ writeable.write bytes.pack('C*')
125
132
  end
126
133
  end
127
134
  end
data/lib/sass/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sass
4
- VERSION = '0.7.12'
4
+ VERSION = '0.7.16'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sass-embedded
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.12
4
+ version: 0.7.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - なつき
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-20 00:00:00.000000000 Z
11
+ date: 2021-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf
@@ -166,7 +166,7 @@ homepage: https://github.com/ntkme/sass-embedded-host-ruby
166
166
  licenses:
167
167
  - MIT
168
168
  metadata:
169
- source_code_uri: https://github.com/ntkme/sass-embedded-host-ruby/tree/v0.7.12
169
+ source_code_uri: https://github.com/ntkme/sass-embedded-host-ruby/tree/v0.7.16
170
170
  post_install_message:
171
171
  rdoc_options: []
172
172
  require_paths: