sass-embedded 0.7.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
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