run-command 0.4 → 0.6

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
  SHA256:
3
- metadata.gz: a97d559632d69814b3d64b79c0dab60d63bab697dcd39c74c53e546d7c0a2570
4
- data.tar.gz: a62840eddfbc10e49930576852813d72724b45371738e1f56ea07b785d634bff
3
+ metadata.gz: 6dad44af580195093d4a940c048dbb93cbbe784af6b1c40a595f75b4ba17df0d
4
+ data.tar.gz: 566b5c0e81b051d4aafcdff6c9fd5aacdcd3f84a99030933b7e3c52b060d1a6a
5
5
  SHA512:
6
- metadata.gz: 44649150f3cd9f2f7ba7a3e1d6ec4d6ac198ab3601ebca29c070107c209a171949464ea52f50107ae93e22cbc70954e6c67d2b274cb63244d9e29f05a104083e
7
- data.tar.gz: 8b2f7156eff5e19ba84ce7a85edce15edc82735c4bcee71e2f2eb1f7b1f3704adeaf8d61af1ffae9b1fe941e959ed35cf16f932feaf3deeda30a035d7fed4d4d
6
+ metadata.gz: bf54aae85631a713aaeb98eb20d6497c75cd152d8193445018b2574bbd8be9b50a81c255c5eef702d0f1638aae06f108c0c1923303b0e216ff3fdb9ac9bdae2e
7
+ data.tar.gz: bd6ac5a02af2a1d71541f1d37ee49f549cd94bcfe0bc78263c83e5ec663ddc55b3dd60f713d163ed4fb941f665557f0b9f862a50ef0ec9491c0f41bf6f210a60
data/.gitignore CHANGED
@@ -1,2 +1,3 @@
1
1
  .DS_Store
2
- *.gem
2
+ *.gem
3
+ Gemfile.lock
data/lib/run-command.rb CHANGED
@@ -5,13 +5,14 @@ module Kernel
5
5
  class RunCommandFailed < Exception; end
6
6
 
7
7
  def run_command(*args, **options)
8
- command = args.shift
9
8
  args = args.flatten.compact.map(&:to_s)
9
+ command = args.shift
10
10
  env = options.delete(:env) || {}
11
11
  verbose = options.delete(:verbose) || false
12
12
  pretend = options.delete(:pretend) || false
13
13
  argv0 = options.delete(:argv0)
14
14
  input = options.delete(:input)
15
+ interactive = options.delete(:interactive)
15
16
  if verbose
16
17
  warn "$ %s%s" % [
17
18
  env.empty? ? nil : env.map { |kv| kv.join('=') }.join(' ') + ' ',
@@ -19,10 +20,15 @@ module Kernel
19
20
  ]
20
21
  end
21
22
  unless pretend
22
- output = IO.popen(env, [argv0 ? [command, argv0] : command, *args], 'r+', options) do |io|
23
- io.write(input.to_s) if input
24
- io.close_write
25
- io.read
23
+ if interactive
24
+ system(env, *command)
25
+ output = nil
26
+ else
27
+ output = IO.popen(env, [argv0 ? [command, argv0] : command, *args], 'r+', options) do |io|
28
+ io.write(input.to_s) if input
29
+ io.close_write
30
+ io.read
31
+ end
26
32
  end
27
33
  raise RunCommandFailed, "Command #{command.to_s.inspect} failed: #{$?}" if $? != 0
28
34
  output
data/run-command.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'run-command'
3
- s.version = '0.4'
3
+ s.version = '0.6'
4
4
  s.summary = 'A friendlier system().'
5
5
  s.author = 'John Labovitz'
6
6
  s.email = 'johnl@johnlabovitz.com'
@@ -14,8 +14,8 @@ Gem::Specification.new do |s|
14
14
  s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
15
15
  s.require_path = 'lib'
16
16
 
17
- s.add_development_dependency 'bundler', '~> 2.2'
18
- s.add_development_dependency 'minitest', '~> 5.14'
17
+ s.add_development_dependency 'bundler', '~> 2.3'
18
+ s.add_development_dependency 'minitest', '~> 5.16'
19
19
  s.add_development_dependency 'minitest-power_assert', '~> 0.3'
20
20
  s.add_development_dependency 'rake', '~> 13.0'
21
21
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: run-command
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.4'
4
+ version: '0.6'
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Labovitz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-16 00:00:00.000000000 Z
11
+ date: 2022-09-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.2'
19
+ version: '2.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.2'
26
+ version: '2.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '5.14'
33
+ version: '5.16'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '5.14'
40
+ version: '5.16'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest-power_assert
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -74,7 +74,6 @@ extra_rdoc_files: []
74
74
  files:
75
75
  - ".gitignore"
76
76
  - Gemfile
77
- - Gemfile.lock
78
77
  - README.md
79
78
  - Rakefile
80
79
  - lib/run-command.rb
@@ -99,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
98
  - !ruby/object:Gem::Version
100
99
  version: '0'
101
100
  requirements: []
102
- rubygems_version: 3.2.20
101
+ rubygems_version: 3.3.22
103
102
  signing_key:
104
103
  specification_version: 4
105
104
  summary: A friendlier system().
data/Gemfile.lock DELETED
@@ -1,27 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- run-command (0.4)
5
-
6
- GEM
7
- remote: https://rubygems.org/
8
- specs:
9
- minitest (5.14.4)
10
- minitest-power_assert (0.3.1)
11
- minitest
12
- power_assert (>= 1.1)
13
- power_assert (2.0.0)
14
- rake (13.0.3)
15
-
16
- PLATFORMS
17
- arm64-darwin-20
18
-
19
- DEPENDENCIES
20
- bundler (~> 2.2)
21
- minitest (~> 5.14)
22
- minitest-power_assert (~> 0.3)
23
- rake (~> 13.0)
24
- run-command!
25
-
26
- BUNDLED WITH
27
- 2.2.20