central 0.3.1 → 0.3.2

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/bin/central +1 -1
  3. data/lib/central.rb +6 -20
  4. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1df8c743134a9baddb4d6bd454b6bd00e417dde4812533c3d2f4c218debe64a
4
- data.tar.gz: 702aa1bdf779cad2ef1fc32ce4ef3a9354d8f0a81f059f94029a33bdb0a31f7a
3
+ metadata.gz: 81f6417d161a53c2d5b0b2785a1e45cb4af4cc5f8f7b18fd8d24fbb18d1d0410
4
+ data.tar.gz: 706d8b11e4d38effa588a5fe9c5b7baada931a3de3b5973cea7f1ac6c05e8dfd
5
5
  SHA512:
6
- metadata.gz: 7f6c2e18e8f0428bbc390c29472892c5878a47ee8fc271ff2d2da50d3665da28c7cfb61944b12558021a22947892e008388111c59409988ef3e27a4450d865db
7
- data.tar.gz: '08ade7d82161a2fe545b30e21428e3c627f3d052cfd35fc40d1718004e4881d16034eb1cfde2ed0ae5c603f5b70eae56a4ce840c199ffe74705405eac1313e82'
6
+ metadata.gz: 1e36f5d6f5c9730c95240fc674020af1d557f57054cb9d4ff1eb15ccaae14776c54060ea662759766bc899ef6f4a85a901e0eec34141742d83707e61a8c65f3c
7
+ data.tar.gz: cbfb6d079499dfcdadbb767f5f676292e43e933083f6d13d7008ceb07c31da0c8cc8995931219fac16a1d19a71ea9a39611c4e10f0ce82dc7b6f6db8a6358c88
data/bin/central CHANGED
@@ -9,7 +9,7 @@
9
9
  require 'central'
10
10
  require 'optparse'
11
11
 
12
- VERSION = 'v0.3.1'
12
+ VERSION = 'v0.3.2'
13
13
 
14
14
  # parse extra options
15
15
  ARGV.each do |option|
data/lib/central.rb CHANGED
@@ -105,24 +105,16 @@ def shell(command, verbose: false, silent: true)
105
105
  info 'Executing', command if verbose
106
106
  exit_code = nil
107
107
  stdout = String.new
108
- stdout_line = String.new
109
108
  stderr = String.new
110
- stderr_line = String.new
111
109
  Open3.popen3(command) do |_, o, e, t|
112
110
  stdout_open = true
113
111
  stderr_open = true
114
112
  while stdout_open || stderr_open
115
113
  if stdout_open
116
114
  begin
117
- ch = o.read_nonblock(1)
118
- stdout += ch
119
- unless silent
120
- stdout_line += ch
121
- if ch == "\n"
122
- STDOUT.puts stdout_line
123
- stdout_line = ''
124
- end
125
- end
115
+ buffer = o.read_nonblock(4096)
116
+ stdout << buffer
117
+ STDOUT.write(buffer) unless silent
126
118
  rescue IO::WaitReadable
127
119
  IO.select([o], nil, nil, 0.01) unless stderr_open
128
120
  rescue EOFError
@@ -132,15 +124,9 @@ def shell(command, verbose: false, silent: true)
132
124
  next unless stderr_open
133
125
 
134
126
  begin
135
- ch = e.read_nonblock(1)
136
- stderr += ch
137
- unless silent
138
- stderr_line += ch
139
- if ch == "\n"
140
- STDERR.puts stderr_line
141
- stderr_line = ''
142
- end
143
- end
127
+ buffer = e.read_nonblock(4096)
128
+ stderr << buffer
129
+ STDERR.write(buffer) unless silent
144
130
  rescue IO::WaitReadable
145
131
  IO.select([e], nil, nil, 0.01) unless stdout_open
146
132
  rescue EOFError
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: central
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitry Geurkov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-21 00:00:00.000000000 Z
11
+ date: 2022-02-11 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: central dotfile management system
14
14
  email: d.geurkov@gmail.com
@@ -38,7 +38,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
38
38
  - !ruby/object:Gem::Version
39
39
  version: '0'
40
40
  requirements: []
41
- rubygems_version: 3.2.3
41
+ rubygems_version: 3.2.22
42
42
  signing_key:
43
43
  specification_version: 4
44
44
  summary: central dotfile management