subprocess 1.3.0 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 82c898802f4160693d7836102254e37c303db198
4
- data.tar.gz: 71481f1fe51f83f84be323b801674c6ae34c8723
3
+ metadata.gz: 28480023adb6bb4e7bff7096e766e6be65ff9421
4
+ data.tar.gz: 3ad723848b5a45e44fad49d967c0787d1d24f108
5
5
  SHA512:
6
- metadata.gz: f3b32e75da714a7eb24ab94fa5486ed190c128b5e1e92fa8545a9797c93ff74cdef92f45a8d3e54b8d6fd653284d85d5640f6c89b926d23f9cfdd01786bbbdf3
7
- data.tar.gz: d7d449f41f1d7c2a2201af471916bdac29696cea27058ada2454d91de7ac6543cb56715ae56393dc61b9e9c2c1a31c1fce01b7b76934d1f929909e23307324d1
6
+ metadata.gz: 566d18db86adb9950509f92d4efa608475c9c9d9ccc174e11c06ee2fa128eadc6c8fbc22ab49404abed394c930a0750a4de5eb489dcc8761a72c4fb3b6a043e0
7
+ data.tar.gz: f9c2d1307de9dfcf067eeda605182456872dc16ef0948348db488fd0103d080ea296cba486b9b5448c712fb188cb23e1feacb4ce8f08c7647b1be766205a02c0
data/README.md CHANGED
@@ -1,14 +1,8 @@
1
- # Subprocess [![Build Status](https://travis-ci.org/stripe/subprocess.svg?branch=master)](https://travis-ci.org/stripe/subprocess)
1
+ # Subprocess [![Build Status](https://travis-ci.org/stripe/subprocess.svg?branch=master)](https://travis-ci.org/stripe/subprocess) [![Yard Docs](http://img.shields.io/badge/yard-docs-blue.svg)](http://rubydoc.info/github/stripe/subprocess/Subprocess)
2
2
 
3
3
  ![Jacques Cousteau Submarine](http://i.imgur.com/lmej24F.jpg)
4
4
 
5
- A port of Python's excellent subprocess module to Ruby.
6
-
7
- Many thanks to [Bram Swenson][bram], the author of the old [subprocess][old]
8
- gem, for graciously letting us use the name.
9
-
10
- [bram]: https://github.com/bramswenson
11
- [old]: https://github.com/bramswenson/subprocess
5
+ A solid subprocess library for ruby, inspired by python's.
12
6
 
13
7
  Installation
14
8
  ------------
@@ -21,20 +15,10 @@ You can also build `subprocess` from source by running:
21
15
 
22
16
  $ gem build subprocess.gemspec
23
17
 
24
-
25
18
  Usage
26
19
  -----
27
20
 
28
- Most of the documentation for Python's [subprocess][python] module applies
29
- equally well to this gem as well. While there are a few places when our
30
- semantics differs from Python's, users of the Python module should largely feel
31
- at home using `subprocess`. We have attempted to [document][rubydoc] all of the
32
- differences, but if we have missed something, please file an issue.
33
-
34
- [python]: http://docs.python.org/library/subprocess.html
35
- [rubydoc]: http://rubydoc.info/github/stripe/subprocess
36
-
37
- A few examples:
21
+ Full documentation is on [RubyDoc][rubydoc]. A few examples:
38
22
 
39
23
  ```ruby
40
24
  require 'subprocess'
@@ -71,3 +55,21 @@ http://upload.wikimedia.org/wikipedia/commons/3/3e/Unshorn_alpaca_grazing.jpg
71
55
  EMAIL
72
56
  end
73
57
  ```
58
+
59
+ Most of the documentation for Python's [subprocess][python] module applies
60
+ equally well to this gem as well. While there are a few places when our
61
+ semantics differs from Python's, users of the Python module should largely feel
62
+ at home using `subprocess`. We have attempted to [document][rubydoc] all of the
63
+ differences, but if we have missed something, please file an issue.
64
+
65
+ [python]: http://docs.python.org/library/subprocess.html
66
+ [rubydoc]: http://rubydoc.info/github/stripe/subprocess/Subprocess
67
+
68
+ Acknowledgements
69
+ ----------------
70
+
71
+ Many thanks to [Bram Swenson][bram], the author of the old [subprocess][old]
72
+ gem, for graciously letting us use the name.
73
+
74
+ [bram]: https://github.com/bramswenson
75
+ [old]: https://github.com/bramswenson/subprocess
@@ -1,3 +1,4 @@
1
+ require 'fileutils'
1
2
  require 'thread'
2
3
  require 'set'
3
4
 
@@ -107,14 +108,7 @@ module Subprocess
107
108
  # been according to the usual exit status convention
108
109
  sig_num = status.exitstatus - 128
109
110
 
110
- # sigh, why is ruby so silly
111
- if Signal.respond_to?(:signame)
112
- # ruby 2.0 way
113
- sig_name = Signal.signame(sig_num)
114
- else
115
- # ruby 1.9 way
116
- sig_name = Signal.list.key(sig_num)
117
- end
111
+ sig_name = Signal.signame(sig_num)
118
112
 
119
113
  if sig_name
120
114
  parts << "(maybe SIG#{sig_name})"
@@ -368,6 +362,9 @@ module Subprocess
368
362
  raise ArgumentError if !input.nil? && @stdin.nil?
369
363
 
370
364
  stdout, stderr = "", ""
365
+ stdout_encoding = @stdout.external_encoding if @stdout
366
+ stderr_encoding = @stderr.external_encoding if @stderr
367
+
371
368
  input = input.dup unless input.nil?
372
369
 
373
370
  @stdin.close if (input.nil? || input.empty?) && !@stdin.nil?
@@ -429,6 +426,9 @@ module Subprocess
429
426
 
430
427
  wait
431
428
 
429
+ stdout.force_encoding(stdout_encoding) if stdout_encoding
430
+ stderr.force_encoding(stderr_encoding) if stderr_encoding
431
+
432
432
  [stdout, stderr]
433
433
  end
434
434
 
@@ -1,3 +1,3 @@
1
1
  module Subprocess
2
- VERSION = '1.3.0'
2
+ VERSION = '1.3.2'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: subprocess
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carl Jackson
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2016-06-09 00:00:00.000000000 Z
15
+ date: 2016-08-17 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: minitest