files.com 1.0.178 → 1.0.179
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/_VERSION +1 -1
- data/lib/files.com/sizable_io.rb +23 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32935bb0ba8038b846516ad46c7bc54d1e60fe5d248270f27555fff90f865d96
|
4
|
+
data.tar.gz: 9a1d911bf8e70e7d96ba4454784255d862f9a6236c5bfbea86d53b2d27abefac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3178b99b24bf4271b9ae5d885b2bcaa9a0fcfeefc0c3b53b774656eb13f46d353356513ad64844dfa0661a2e3ef4b9ba42c6d014b3261162a06b048a57016aad
|
7
|
+
data.tar.gz: 70795f3bbbe09817c4d70855bbaba3fd2c376831c05cea107f77e9dc981aca65bdbd95d102f27d61b564f992270176fdc034146b84115612052426fb09526a66
|
data/_VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.179
|
data/lib/files.com/sizable_io.rb
CHANGED
@@ -12,15 +12,30 @@ module Files
|
|
12
12
|
read_io.content_length_promise.wait.value
|
13
13
|
end
|
14
14
|
|
15
|
+
def wait!(timeout=nil)
|
16
|
+
read_io.ready_promise.wait(timeout)
|
17
|
+
error!
|
18
|
+
self
|
19
|
+
end
|
20
|
+
|
15
21
|
def fulfill_content_length(length)
|
16
22
|
read_io.content_length = length
|
17
23
|
read_io.content_length_promise.execute
|
18
24
|
end
|
19
25
|
|
26
|
+
def ready!
|
27
|
+
read_io.ready_promise.execute
|
28
|
+
end
|
29
|
+
|
20
30
|
def close
|
21
31
|
raise @with_error if @with_error
|
22
32
|
super
|
23
33
|
read_io.content_length_promise.try_set(nil)
|
34
|
+
read_io.ready_promise.try_set(true)
|
35
|
+
end
|
36
|
+
|
37
|
+
def error!
|
38
|
+
raise read_io.with_error if read_io.with_error
|
24
39
|
end
|
25
40
|
|
26
41
|
def set_error(e)
|
@@ -35,8 +50,16 @@ module Files
|
|
35
50
|
@content_length_promise ||= Concurrent::Promise.new { content_length }
|
36
51
|
end
|
37
52
|
|
53
|
+
def ready_promise
|
54
|
+
@ready_promise ||= Concurrent::Promise.new { true }
|
55
|
+
end
|
56
|
+
|
38
57
|
def read_io
|
39
58
|
@read_io || self
|
40
59
|
end
|
60
|
+
|
61
|
+
def read_io?
|
62
|
+
read_io == self
|
63
|
+
end
|
41
64
|
end
|
42
65
|
end
|