backticks 1.0.0 → 1.0.3

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
- SHA1:
3
- metadata.gz: 99c34a6663b44673cd2652f3aae287b9d7b018e2
4
- data.tar.gz: 3b27006eb2ecc2762af1c9f2f1d4ed26a1e60cd3
2
+ SHA256:
3
+ metadata.gz: 7ebaa9c7d316ac561c6e012a0e8b2c6917660e84db75ef76f0b2d8fba17b062b
4
+ data.tar.gz: 6628e6912a8cffa9f392729c26e7895e7b1fda2b236d51fc8745ae1df1c64c65
5
5
  SHA512:
6
- metadata.gz: 4748e947baf5ea75de33b393f24f460faa6a3f8cef2eac96bdfd150ebaae695d87fef57bdb02cdfeca5dd220cf0cb4cecf7d061d9bfe0cef49c64b928fcbc888
7
- data.tar.gz: e9b2088b99789d1ac86d5324348960ac8d31d69f7a26cbdc373e421543a4edd18ff55bf69490d43b1fabe90d782c940067956b6c9b9dd802e706cd3c1d596c2f
6
+ metadata.gz: 803ded04638dea802b8bdf9b902e040823cbde99396a922b6db42e11e09c23f0bc1f88c9a487e1c5ce604afa64b996640b48287043e184ab10dafaf1e790242e
7
+ data.tar.gz: e24c52b66231cad8d3f42ac3eb25c4c4cc515e9e12bd89c7191c29ba72d436e907f9f6a9e37f26e288715d23b09ea45421d1f0a83bf134e6f93ac0331c94aeca
data/.rspec CHANGED
@@ -1,4 +1,5 @@
1
1
  --format documentation
2
2
  --color
3
3
  --order random
4
+ --warnings
4
5
  --require spec_helper
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.0.0
data/.travis.yml CHANGED
@@ -4,5 +4,7 @@ rvm:
4
4
  - 2.0
5
5
  - 2.1
6
6
  - 2.2
7
+ - 2.3
8
+ - 2.4
7
9
  before_install: gem install bundler -v '~> 1.10'
8
10
  script: bundle exec rake spec
data/README.md CHANGED
@@ -13,7 +13,7 @@ or record/playback applications:
13
13
  "Intuitive" comes from a DSL that lets you provide command-line arguments as if they were
14
14
  Ruby method arguments:
15
15
 
16
- ```
16
+ ```ruby
17
17
  Backticks.run 'ls', R:true, ignore_backups:true, hide:'.git'
18
18
  Backticks.run 'cp' {f:true}, '*.rb', '/mnt/awesome'
19
19
  ```
data/backticks.gemspec CHANGED
@@ -19,9 +19,9 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ['lib']
21
21
 
22
- spec.required_ruby_version = Gem::Requirement.new("~> 2.0")
22
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.0', '< 4.0')
23
23
 
24
- spec.add_development_dependency 'bundler', '~> 1.10'
24
+ spec.add_development_dependency 'bundler', '~> 2.3'
25
25
  spec.add_development_dependency 'rake', '~> 10.0'
26
26
  spec.add_development_dependency 'rspec'
27
27
  end
@@ -43,6 +43,8 @@ module Backticks
43
43
  @stdout = stdout
44
44
  @stderr = stderr
45
45
  @interactive = !!interactive
46
+ @tap = nil
47
+ @status = nil
46
48
 
47
49
  @captured_input = String.new.force_encoding(Encoding::BINARY)
48
50
  @captured_output = String.new.force_encoding(Encoding::BINARY)
@@ -118,7 +120,7 @@ module Backticks
118
120
  # @return [String,nil] fresh bytes from stdout/stderr, or nil if no output
119
121
  def capture(limit=nil)
120
122
  streams = [@stdout, @stderr]
121
- streams << STDIN if interactive?
123
+ streams << STDIN if STDIN.tty? && interactive?
122
124
 
123
125
  ready, _, _ = IO.select(streams, [], [], limit)
124
126
 
@@ -1,4 +1,9 @@
1
- require 'pty'
1
+ begin
2
+ require 'pty'
3
+ rescue LoadError
4
+ # for Windows support, tolerate a missing PTY module
5
+ end
6
+
2
7
  require 'open3'
3
8
 
4
9
  module Backticks
@@ -55,6 +60,7 @@ module Backticks
55
60
  }.merge(options)
56
61
 
57
62
  @cli = options[:cli]
63
+ @chdir = nil
58
64
  self.buffered = options[:buffered]
59
65
  self.interactive = options[:interactive]
60
66
  end
@@ -104,17 +110,21 @@ module Backticks
104
110
  # remaining elements are parameters and flags
105
111
  # @return [Command] the running command
106
112
  def run_without_sugar(argv)
107
- stdin_r, stdin = if buffered.include?(:stdin) && !interactive
113
+ nopty = !defined?(PTY)
114
+
115
+ stdin_r, stdin = if nopty || (buffered.include?(:stdin) && !interactive)
108
116
  IO.pipe
109
117
  else
110
118
  PTY.open
111
119
  end
112
- stdout, stdout_w = if buffered.include?(:stdout) && !interactive
120
+
121
+ stdout, stdout_w = if nopty || (buffered.include?(:stdout) && !interactive)
113
122
  IO.pipe
114
123
  else
115
124
  PTY.open
116
125
  end
117
- stderr, stderr_w = if buffered.include?(:stderr)
126
+
127
+ stderr, stderr_w = if nopty || buffered.include?(:stderr)
118
128
  IO.pipe
119
129
  else
120
130
  PTY.open
@@ -1,3 +1,3 @@
1
1
  module Backticks
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: backticks
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tony Spataro
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-09-14 00:00:00.000000000 Z
11
+ date: 2022-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.10'
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: '1.10'
26
+ version: '2.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -61,6 +61,7 @@ extra_rdoc_files: []
61
61
  files:
62
62
  - ".gitignore"
63
63
  - ".rspec"
64
+ - ".ruby-version"
64
65
  - ".travis.yml"
65
66
  - CHANGELOG.md
66
67
  - CODE_OF_CONDUCT.md
@@ -80,24 +81,26 @@ homepage: https://github.com/xeger/backticks
80
81
  licenses:
81
82
  - MIT
82
83
  metadata: {}
83
- post_install_message:
84
+ post_install_message:
84
85
  rdoc_options: []
85
86
  require_paths:
86
87
  - lib
87
88
  required_ruby_version: !ruby/object:Gem::Requirement
88
89
  requirements:
89
- - - "~>"
90
+ - - ">="
90
91
  - !ruby/object:Gem::Version
91
92
  version: '2.0'
93
+ - - "<"
94
+ - !ruby/object:Gem::Version
95
+ version: '4.0'
92
96
  required_rubygems_version: !ruby/object:Gem::Requirement
93
97
  requirements:
94
98
  - - ">="
95
99
  - !ruby/object:Gem::Version
96
100
  version: '0'
97
101
  requirements: []
98
- rubyforge_project:
99
- rubygems_version: 2.4.5
100
- signing_key:
102
+ rubygems_version: 3.2.3
103
+ signing_key:
101
104
  specification_version: 4
102
105
  summary: Intuitive OOP wrapper for command-line processes
103
106
  test_files: []