cli-ui 2.2.1 → 2.2.2

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: 1edd90ccd15771c59e43d39ad0004ed99d20b0ff1b68a63cc73b9beea480cb30
4
- data.tar.gz: '096a40c20c1e2fb8e0bcf68b6fb0f8542d5b0d5c578c11e4b6248507efaeace2'
3
+ metadata.gz: '09d2f934743c06d2682e5edd21001d81bc80f559015310483fa1d88571c05bcb'
4
+ data.tar.gz: 47abf444dffe2a80da451889dceeaf9056e9794e585d7d2074d222bbf943aea2
5
5
  SHA512:
6
- metadata.gz: ebd356d3f38fa275e66180f3c621a408b36fc4f1ad9965e7bd7b6b2dfef0768364e9175cbeefe5b4964d26c44b3e95cf2e2825a007e1e6a78eeb537704ee024c
7
- data.tar.gz: 40da4c348dd7aa86ab14697abc1172947c63fedc8b1b40b7938fdc65c24e63c71b4d40819f8e6f925059444a33d689e906edd66c68b26c6bd454735436c7c935
6
+ metadata.gz: 2ac5bc5856d536eb2fd70a77f0c1df9af493a2b8b3395249f47eaae9f0013b360ae4769828fb476b3b7e2d9fe74f73243106fe3c3c96ab476a603b93b8dc9a95
7
+ data.tar.gz: b65d111cd17a436e6a5d317ab04fd86e72bfcc9dd05f440fb7db50a5b48eaa2e20c89f35aedbf708b099ad3634ebb5a9fb8be7366828ce382aa8998a69c0284a
@@ -92,7 +92,7 @@ module CLI
92
92
  extend T::Sig
93
93
 
94
94
  @capture_mutex = Mutex.new
95
- @stdin_mutex = ReentrantMutex.new
95
+ @stdin_mutex = CLI::UI::ReentrantMutex.new
96
96
  @active_captures = 0
97
97
  @saved_stdin = nil
98
98
 
@@ -262,7 +262,7 @@ module CLI
262
262
  sig { params(stream: IO).void }
263
263
  def initialize(stream)
264
264
  @stream = stream
265
- @m = ReentrantMutex.new
265
+ @m = CLI::UI::ReentrantMutex.new
266
266
  end
267
267
 
268
268
  sig { type_parameters(:T).params(block: T.proc.returns(T.type_parameter(:T))).returns(T.type_parameter(:T)) }
@@ -2,6 +2,6 @@
2
2
 
3
3
  module CLI
4
4
  module UI
5
- VERSION = '2.2.1'
5
+ VERSION = '2.2.2'
6
6
  end
7
7
  end
@@ -22,54 +22,57 @@
22
22
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
23
 
24
24
  # Sourced from https://github.com/dotboris/reentrant_mutex
25
+ module CLI
26
+ module UI
27
+ class ReentrantMutex < Mutex
28
+ def initialize
29
+ @count_mutex = Mutex.new
30
+ @counts = Hash.new(0)
25
31
 
26
- class ReentrantMutex < Mutex
27
- def initialize
28
- @count_mutex = Mutex.new
29
- @counts = Hash.new(0)
32
+ super
33
+ end
30
34
 
31
- super
32
- end
35
+ def synchronize
36
+ raise ThreadError, 'Must be called with a block' unless block_given?
33
37
 
34
- def synchronize
35
- raise ThreadError, 'Must be called with a block' unless block_given?
38
+ begin
39
+ lock
40
+ yield
41
+ ensure
42
+ unlock
43
+ end
44
+ end
36
45
 
37
- begin
38
- lock
39
- yield
40
- ensure
41
- unlock
42
- end
43
- end
46
+ def lock
47
+ c = increase_count Thread.current
48
+ super if c <= 1
49
+ end
44
50
 
45
- def lock
46
- c = increase_count Thread.current
47
- super if c <= 1
48
- end
51
+ def unlock
52
+ c = decrease_count Thread.current
53
+ if c <= 0
54
+ super
55
+ delete_count Thread.current
56
+ end
57
+ end
49
58
 
50
- def unlock
51
- c = decrease_count Thread.current
52
- if c <= 0
53
- super
54
- delete_count Thread.current
55
- end
56
- end
59
+ def count
60
+ @count_mutex.synchronize { @counts[Thread.current] }
61
+ end
57
62
 
58
- def count
59
- @count_mutex.synchronize { @counts[Thread.current] }
60
- end
63
+ private
61
64
 
62
- private
65
+ def increase_count(thread)
66
+ @count_mutex.synchronize { @counts[thread] += 1 }
67
+ end
63
68
 
64
- def increase_count(thread)
65
- @count_mutex.synchronize { @counts[thread] += 1 }
66
- end
69
+ def decrease_count(thread)
70
+ @count_mutex.synchronize { @counts[thread] -= 1 }
71
+ end
67
72
 
68
- def decrease_count(thread)
69
- @count_mutex.synchronize { @counts[thread] -= 1 }
70
- end
71
-
72
- def delete_count(thread)
73
- @count_mutex.synchronize { @counts.delete(thread) }
73
+ def delete_count(thread)
74
+ @count_mutex.synchronize { @counts.delete(thread) }
75
+ end
76
+ end
74
77
  end
75
78
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cli-ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 2.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Burke Libbey