halfshell 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/halfshell/terminal.rb +8 -5
- data/lib/halfshell/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 65c7923b546781e694f70250eb14d2c119ed16664a7a170287389e10e86cf895
|
4
|
+
data.tar.gz: 443de88dc8348c3859e21ba978b5b1385c23cbf916f2ffc2c74db252f9b63da8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba86ae2e4fedf21fa6012a96a06b29b5b67ba58a9997c01579c2ab072aeb12141aeda22a5986008d3f9526d1c73f023361e4b500f2473e82f8446c32bd8b2d4c
|
7
|
+
data.tar.gz: a1d232bf56a4dc983447d24eb44494b97103d498f533161f9efda10e798e71aafa74f21e095116eec50c423ac7549a73713376b2ba6c47b1b92723341d713b7f
|
data/lib/halfshell/terminal.rb
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
require "open4"
|
2
|
+
require "expect"
|
2
3
|
|
3
4
|
module Halfshell
|
4
5
|
class Terminal
|
6
|
+
TIMEOUT = 60 * 60
|
7
|
+
WAIT_INTERVAL = 1.0/1000
|
5
8
|
|
6
9
|
def Terminal.default
|
7
10
|
Terminal.sh
|
@@ -20,8 +23,8 @@ module Halfshell
|
|
20
23
|
def initialize(stdin:, stdout:, stderr:, pid:)
|
21
24
|
@stdin, @stdout, @stderr, @pid = stdin, stdout, stderr, pid
|
22
25
|
|
23
|
-
@
|
24
|
-
@
|
26
|
+
@tries = 0
|
27
|
+
@max_tries = (TIMEOUT / WAIT_INTERVAL).to_i
|
25
28
|
end
|
26
29
|
|
27
30
|
def puts(what)
|
@@ -44,10 +47,10 @@ module Halfshell
|
|
44
47
|
rescue IO::EAGAINWaitReadable
|
45
48
|
raise_error if too_many_tries?
|
46
49
|
if got.empty?
|
47
|
-
sleep(
|
50
|
+
sleep(WAIT_INTERVAL)
|
48
51
|
return read_nonblock_loop(io)
|
49
52
|
else
|
50
|
-
@
|
53
|
+
@tries = 0
|
51
54
|
return got
|
52
55
|
end
|
53
56
|
end
|
@@ -55,7 +58,7 @@ module Halfshell
|
|
55
58
|
end
|
56
59
|
|
57
60
|
def too_many_tries?
|
58
|
-
@
|
61
|
+
@tries >= @max_tries
|
59
62
|
end
|
60
63
|
|
61
64
|
def raise_error
|
data/lib/halfshell/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: halfshell
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- andydna
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-05-
|
11
|
+
date: 2020-05-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|