sass-embedded 0.7.0 → 0.7.1

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: af257f49189b3ea9e19c67fd67dba0cbf35d010c7a222e36fd820afee7eb3e10
4
- data.tar.gz: a63caa77fc2a9793f5138896df09722aae680b85a11db50512da3281fba8fae7
3
+ metadata.gz: e292d8b2c097a1d19fd12d808600c91ae39dbc93180bc34cd2c56bf0cebf494c
4
+ data.tar.gz: 6507777d01910a91c93e793a46efdcc6990ccc0a422881643a0e5b7f395892ff
5
5
  SHA512:
6
- metadata.gz: 1b5e7ea087a76653e6e45ee2338eeb31224a85388b9ece793d90652176f50d77affb4816acccfa6c1dbe5ffb5221bebc3bd1d0a00dcade850e6413125c4d1fc6
7
- data.tar.gz: 7de00d938497c9d447c396d69eb4d6907683097c3b897c77ead784a17f3fcc691f8a67ca99bc5fbf9e7ce268db5f443e31d65903e81c8acb966238760db1a35a
6
+ metadata.gz: 79485c6293b91b1b709ab7630f431ab01d8c0af6033ab86c0c11fa05e27c390864fff433a6d91cc5251e5e5a77f11be0709d04eed2c2b8762acef162235ce247
7
+ data.tar.gz: b6cce9f847c0681df0891e32044f7a9fea3d79a4c0d1736e192537d07a30763b494750f86f1d843a640c49a13758140e22e40305ce0e07b726d0a223ecb6d28b
data/lib/sass/embedded.rb CHANGED
@@ -102,7 +102,7 @@ module Sass
102
102
 
103
103
  finish = Util.now
104
104
 
105
- stats = RenderResult::Stats.new(file.nil? ? 'data' : file, start, finish, finish - start)
105
+ stats = RenderResultStats.new(file.nil? ? 'data' : file, start, finish, finish - start)
106
106
 
107
107
  RenderResult.new(css, map, stats)
108
108
  end
data/lib/sass/result.rb CHANGED
@@ -12,19 +12,19 @@ module Sass
12
12
  @map = map
13
13
  @stats = stats
14
14
  end
15
+ end
15
16
 
16
- # The {Stats} of {Embedded#render}.
17
- class Stats
18
- include Struct
17
+ # The {RenderResultStats} of {Embedded#render}.
18
+ class RenderResultStats
19
+ include Struct
19
20
 
20
- attr_reader :entry, :start, :end, :duration
21
+ attr_reader :entry, :start, :end, :duration
21
22
 
22
- def initialize(entry, start, finish, duration)
23
- @entry = entry
24
- @start = start
25
- @end = finish
26
- @duration = duration
27
- end
23
+ def initialize(entry, start, finish, duration)
24
+ @entry = entry
25
+ @start = start
26
+ @end = finish
27
+ @duration = duration
28
28
  end
29
29
  end
30
30
  end
@@ -29,7 +29,7 @@ module Sass
29
29
  @stdin_mutex = Mutex.new
30
30
  @stdin, @stdout, @stderr, @wait_thread = Open3.popen3(DART_SASS_EMBEDDED)
31
31
  pipe @stderr, $stderr
32
- receive_message @stdout
32
+ read @stdout
33
33
  end
34
34
 
35
35
  def add_observer(*args)
@@ -58,42 +58,38 @@ module Sass
58
58
 
59
59
  private
60
60
 
61
- def receive_message(readable)
61
+ def receive_message(error, message)
62
+ @observerable_mutex.synchronize do
63
+ changed
64
+ notify_observers error, message
65
+ end
66
+ end
67
+
68
+ def pipe(readable, writeable)
62
69
  Thread.new do
63
70
  loop do
64
- bits = length = 0
65
- loop do
66
- byte = readable.readbyte
67
- length += (byte & 0x7f) << bits
68
- bits += 7
69
- break if byte <= 0x7f
70
- end
71
- payload = readable.read length
72
- message = EmbeddedProtocol::OutboundMessage.decode payload
73
- @observerable_mutex.synchronize do
74
- changed
75
- notify_observers nil, message[message.message.to_s]
76
- end
71
+ writeable.write readable.readline
77
72
  rescue Interrupt
78
73
  break
79
74
  rescue IOError => e
80
- notify_observers e, nil
75
+ receive_message(e, nil)
81
76
  close
82
77
  break
83
78
  end
84
79
  end
85
80
  end
86
81
 
87
- def pipe(readable, writeable)
82
+ def read(readable)
88
83
  Thread.new do
89
84
  loop do
90
- writeable.write readable.readline
85
+ length = read_varint(readable)
86
+ payload = readable.read(length)
87
+ message = EmbeddedProtocol::OutboundMessage.decode payload
88
+ receive_message(nil, message[message.message.to_s])
91
89
  rescue Interrupt
92
90
  break
93
91
  rescue IOError => e
94
- @observerable_mutex.synchronize do
95
- notify_observers e, nil
96
- end
92
+ receive_message(e, nil)
97
93
  close
98
94
  break
99
95
  end
@@ -102,13 +98,27 @@ module Sass
102
98
 
103
99
  def write(payload)
104
100
  @stdin_mutex.synchronize do
105
- length = payload.length
106
- while length.positive?
107
- @stdin.write ((length > 0x7f ? 0x80 : 0) | (length & 0x7f)).chr
108
- length >>= 7
109
- end
101
+ write_varint(@stdin, payload.length)
110
102
  @stdin.write payload
111
103
  end
112
104
  end
105
+
106
+ def read_varint(readable)
107
+ varint = bits = 0
108
+ loop do
109
+ byte = readable.readbyte
110
+ varint += (byte & 0x7f) << bits
111
+ bits += 7
112
+ break if byte <= 0x7f
113
+ end
114
+ varint
115
+ end
116
+
117
+ def write_varint(writeable, varint)
118
+ while varint.positive?
119
+ writeable.write ((varint > 0x7f ? 0x80 : 0) | (varint & 0x7f)).chr
120
+ varint >>= 7
121
+ end
122
+ end
113
123
  end
114
124
  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.0'
4
+ VERSION = '0.7.1'
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.0
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - なつき
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-29 00:00:00.000000000 Z
11
+ date: 2021-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf