files.com 1.0.178 → 1.0.179

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/_VERSION +1 -1
  3. data/lib/files.com/sizable_io.rb +23 -0
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8314f06e051c0563d980fca94b325614b675d6c406ddc7e286ebf132251cbd0c
4
- data.tar.gz: e7e4cce1b266a01b4afacfdca4bbca65ab6c46e87e3be7cf6b9b828db31082bc
3
+ metadata.gz: 32935bb0ba8038b846516ad46c7bc54d1e60fe5d248270f27555fff90f865d96
4
+ data.tar.gz: 9a1d911bf8e70e7d96ba4454784255d862f9a6236c5bfbea86d53b2d27abefac
5
5
  SHA512:
6
- metadata.gz: dde72ce18d054f8bd8c2ee9f0d2c0f0b99e5207663081c1d57b279640282ae42f07a2b77c88a5f42bef9198f24b61840deffe87edd77251fd97fba0c3a11bd5d
7
- data.tar.gz: ee65038bc42cd105e3d89646d187b079be61244f049a63f5a363c0bf1ac165ed52492d16ce2c175a096e2bcdd71278d4789400d991802c78d9a35fefa24f7687
6
+ metadata.gz: 3178b99b24bf4271b9ae5d885b2bcaa9a0fcfeefc0c3b53b774656eb13f46d353356513ad64844dfa0661a2e3ef4b9ba42c6d014b3261162a06b048a57016aad
7
+ data.tar.gz: 70795f3bbbe09817c4d70855bbaba3fd2c376831c05cea107f77e9dc981aca65bdbd95d102f27d61b564f992270176fdc034146b84115612052426fb09526a66
data/_VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.178
1
+ 1.0.179
@@ -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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: files.com
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.178
4
+ version: 1.0.179
5
5
  platform: ruby
6
6
  authors:
7
7
  - files.com