process_executer 0.7.0 → 1.0.0
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 +4 -4
- data/.markdownlint.yml +1 -1
- data/.rubocop.yml +4 -1
- data/.tool-versions +1 -0
- data/CHANGELOG.md +14 -0
- data/README.md +86 -18
- data/Rakefile +0 -4
- data/lib/process_executer/version.rb +1 -1
- data/process_executer.gemspec +8 -11
- metadata +24 -37
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ec0548ff8356b9466db5fe9c9992e134010c9842561e1b0c0b95a5418fb2c2d2
|
4
|
+
data.tar.gz: 7b9ead3538f7117b453a5353ad0a1ed352b7c60fa86fbacaa12081ff32b411cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a35f9cd143bf7236efbb107a8de130784c195bedb83e95262cc26ae7e2b7e586b7230bdf1ad680c508a5dd8b2c3398c89290ad01a1e5914e165179c298bf5b11
|
7
|
+
data.tar.gz: 5dabb78fd2151f587078b3a139974eb390e23e86be961ce93a7d4f65dd161007e8a175b36b208d13939d38cd5dab41f0a446e7d5213aee34c7f07273c4804f49
|
data/.markdownlint.yml
CHANGED
data/.rubocop.yml
CHANGED
@@ -7,7 +7,7 @@ AllCops:
|
|
7
7
|
SuggestExtensions: false
|
8
8
|
# RuboCop enforces rules depending on the oldest version of Ruby which
|
9
9
|
# your project supports:
|
10
|
-
TargetRubyVersion:
|
10
|
+
TargetRubyVersion: 3.0
|
11
11
|
|
12
12
|
# The default max line length is 80 characters
|
13
13
|
Layout/LineLength:
|
@@ -18,3 +18,6 @@ Metrics/BlockLength:
|
|
18
18
|
Exclude:
|
19
19
|
- "spec/**/*_spec.rb"
|
20
20
|
- "*.gemspec"
|
21
|
+
|
22
|
+
Gemspec/DevelopmentDependencies:
|
23
|
+
Enabled: false
|
data/.tool-versions
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby 3.0.5
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,20 @@ All notable changes to the process_executer gem will be documented in this file.
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
7
|
|
8
|
+
## v1.0.0 (2023-12-31)
|
9
|
+
|
10
|
+
[Full Changelog](https://github.com/main-branch/process_executer/compare/v0.7.0..v1.0.0)
|
11
|
+
|
12
|
+
Changes since v0.7.0:
|
13
|
+
|
14
|
+
* e11f03e Separate semver PR label check into its own workflow (#36)
|
15
|
+
* eabcc3e Update min req Ruby version from 2.7 to 3.0 (#32)
|
16
|
+
* 5483bb8 Update spec_helper.rb to new standard (#31)
|
17
|
+
* 4a27341 Update all development dependencies to latest versions (#30)
|
18
|
+
* ea7513d Enforce that a semver label is present on PRs (#28)
|
19
|
+
* 0aa26cd Instruct Rubocop that dev deps go in gemspec (#29)
|
20
|
+
* 53cb526 Add a truffle-ruby build on ubuntu (#18)
|
21
|
+
|
8
22
|
## v0.7.0 (2023-02-17)
|
9
23
|
|
10
24
|
[Full Changelog](https://github.com/main-branch/process_executer/compare/v0.6.1..v0.7.0)
|
data/README.md
CHANGED
@@ -7,10 +7,21 @@
|
|
7
7
|
[](https://codeclimate.com/github/main-branch/process_executer/maintainability)
|
8
8
|
[](https://codeclimate.com/github/main-branch/process_executer/test_coverage)
|
9
9
|
|
10
|
-
|
10
|
+
* [Usage](#usage)
|
11
|
+
* [ProcessExecuter::MonitoredPipe](#processexecutermonitoredpipe)
|
12
|
+
* [ProcessExecuter.spawn](#processexecuterspawn)
|
13
|
+
* [Installation](#installation)
|
14
|
+
* [Contributing](#contributing)
|
15
|
+
* [Reporting Issues](#reporting-issues)
|
16
|
+
* [Developing](#developing)
|
17
|
+
* [Submitting Pull Requests](#submitting-pull-requests)
|
18
|
+
* [Releasing](#releasing)
|
19
|
+
* [License](#license)
|
20
|
+
|
21
|
+
## Usage
|
11
22
|
|
12
23
|
[Full YARD documentation](https://rubydoc.info/gems/process_executer/) for this
|
13
|
-
gem is hosted on RubyGems.org.
|
24
|
+
gem is hosted on RubyGems.org. Read below of an overview and several examples.
|
14
25
|
|
15
26
|
This gem contains the following important classes:
|
16
27
|
|
@@ -18,7 +29,7 @@ This gem contains the following important classes:
|
|
18
29
|
|
19
30
|
`ProcessExecuter::MonitoredPipe` streams data sent through a pipe to one or more writers.
|
20
31
|
|
21
|
-
When a new `MonitoredPipe` is created,
|
32
|
+
When a new `MonitoredPipe` is created, a pipe is created (via IO.pipe) and
|
22
33
|
a thread is created which reads data as it is written written to the pipe.
|
23
34
|
|
24
35
|
Data that is read from the pipe is written one or more writers passed to
|
@@ -82,27 +93,84 @@ If bundler is not being used to manage dependencies, install the gem by executin
|
|
82
93
|
gem install process_executer
|
83
94
|
```
|
84
95
|
|
85
|
-
##
|
96
|
+
## Contributing
|
86
97
|
|
87
|
-
|
98
|
+
### Reporting Issues
|
88
99
|
|
89
|
-
|
100
|
+
Bug reports and other support requests are welcome on [this project's
|
101
|
+
GitHub issue tracker](https://github.com/main-branch/process_executer)
|
90
102
|
|
91
|
-
|
92
|
-
`rake spec` to run the tests. You can also run `bin/console` for an interactive
|
93
|
-
prompt that will allow you to experiment.
|
103
|
+
### Developing
|
94
104
|
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
commits and the created tag, and push the `.gem` file to
|
99
|
-
[rubygems.org](https://rubygems.org).
|
105
|
+
Clone the repo, run `bin/setup` to install dependencies, and then run `rake spec` to
|
106
|
+
run the tests. You can also run `bin/console` for an interactive prompt that will
|
107
|
+
allow you to experiment.
|
100
108
|
|
101
|
-
|
109
|
+
To install this gem onto your local machine, run `bundle exec rake install`.
|
110
|
+
|
111
|
+
### Submitting Pull Requests
|
112
|
+
|
113
|
+
In order for a pull request to be merged, it must be approved by a code owner and
|
114
|
+
include a semver label.
|
115
|
+
|
116
|
+
The approval must be done using the Github PR Review process by a code owner defined
|
117
|
+
in the project's CODEOWNERS file.
|
118
|
+
|
119
|
+
The semver label indicates the type of change so that the gem version can be
|
120
|
+
increments according to semver rules prior to release. One and only one of the
|
121
|
+
following labels must added to the PR:
|
122
|
+
|
123
|
+
* **`major-change`**
|
124
|
+
|
125
|
+
Use when the PR includes incompatible API or functional changes.
|
126
|
+
|
127
|
+
This typically occurs when the changes introduced could break existing code that
|
128
|
+
depends on this gem. For example, removing a public method, changing a method's
|
129
|
+
signature, or altering the expected behavior of a method in a way that would
|
130
|
+
require changes in the dependent code.
|
131
|
+
|
132
|
+
* **`minor-change`**
|
133
|
+
|
134
|
+
Use when the PR adds functionality in a backward-compatible manner.
|
135
|
+
|
136
|
+
This includes adding new features, enhancements, or deprecating existing features
|
137
|
+
as long as the deprecation itself doesn't break compatibility.
|
138
|
+
|
139
|
+
It's also common to include substantial improvements or optimizations in this
|
140
|
+
category, as long as they don't alter the expected behavior of the existing API.
|
141
|
+
|
142
|
+
* **`patch-change`**
|
143
|
+
|
144
|
+
Use when the PR includes small user-facing changes that are backward-compatible and
|
145
|
+
do not introduce new functionality.
|
146
|
+
|
147
|
+
This includes bug fixes or other internal changes that do not affect the API such
|
148
|
+
as refactoring code, improving performance, or updating user documentation.
|
149
|
+
|
150
|
+
* **`internal-change`**
|
151
|
+
|
152
|
+
Use when the PR includes changes that are NOT user facing and will NOT require a
|
153
|
+
release.
|
154
|
+
|
155
|
+
This includes updates to developer documentation, comments, GitHub Actions, minor
|
156
|
+
refactorings, and fixing Rubocop offenses.
|
157
|
+
|
158
|
+
### Releasing
|
159
|
+
|
160
|
+
To release a new version, first determine the proper semver increment based on the
|
161
|
+
PRs included in the release.
|
162
|
+
|
163
|
+
Then in the root directory of this project with the `main` branch checked out, run
|
164
|
+
the following command:
|
165
|
+
|
166
|
+
```shell
|
167
|
+
create-github-release {major|minor|patch}
|
168
|
+
```
|
102
169
|
|
103
|
-
|
104
|
-
|
170
|
+
Follow the directions given by the `create-github-release` to publish the new version
|
171
|
+
of the gem.
|
105
172
|
|
106
173
|
## License
|
107
174
|
|
108
|
-
The gem is available as open source under the terms of the [MIT
|
175
|
+
The gem is available as open source under the terms of the [MIT
|
176
|
+
License](https://opensource.org/licenses/MIT).
|
data/Rakefile
CHANGED
data/process_executer.gemspec
CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.description = 'An API for executing commands in a subprocess'
|
13
13
|
spec.homepage = 'https://github.com/main-branch/process_executer'
|
14
14
|
spec.license = 'MIT'
|
15
|
-
spec.required_ruby_version = '>=
|
15
|
+
spec.required_ruby_version = '>= 3.0.0'
|
16
16
|
|
17
17
|
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
|
18
18
|
|
@@ -31,20 +31,17 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
32
32
|
spec.require_paths = ['lib']
|
33
33
|
|
34
|
-
# Uncomment to register a new dependency of your gem
|
35
|
-
# spec.add_dependency "example-gem", "~> 1.0"
|
36
|
-
spec.add_development_dependency 'bump', '~> 0.10'
|
37
34
|
spec.add_development_dependency 'bundler-audit', '~> 0.9'
|
38
|
-
spec.add_development_dependency 'create_github_release', '~> 1.
|
39
|
-
spec.add_development_dependency 'rake', '~> 13.
|
40
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
41
|
-
spec.add_development_dependency 'rubocop', '~> 1.
|
42
|
-
spec.add_development_dependency '
|
35
|
+
spec.add_development_dependency 'create_github_release', '~> 1.1'
|
36
|
+
spec.add_development_dependency 'rake', '~> 13.1'
|
37
|
+
spec.add_development_dependency 'rspec', '~> 3.12'
|
38
|
+
spec.add_development_dependency 'rubocop', '~> 1.59'
|
39
|
+
spec.add_development_dependency 'semverify', '~> 0.3'
|
40
|
+
spec.add_development_dependency 'simplecov', '~> 0.22'
|
43
41
|
spec.add_development_dependency 'simplecov-lcov', '~> 0.8'
|
44
|
-
spec.add_development_dependency 'solargraph', '~> 0.47'
|
45
42
|
|
46
43
|
unless RUBY_PLATFORM == 'java'
|
47
|
-
spec.add_development_dependency 'redcarpet', '~> 3.
|
44
|
+
spec.add_development_dependency 'redcarpet', '~> 3.6'
|
48
45
|
spec.add_development_dependency 'yard', '~> 0.9', '>= 0.9.28'
|
49
46
|
spec.add_development_dependency 'yardstick', '~> 0.9'
|
50
47
|
end
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: process_executer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Couball
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-12-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bump
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0.10'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0.10'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: bundler-audit
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,112 +30,112 @@ dependencies:
|
|
44
30
|
requirements:
|
45
31
|
- - "~>"
|
46
32
|
- !ruby/object:Gem::Version
|
47
|
-
version: '1.
|
33
|
+
version: '1.1'
|
48
34
|
type: :development
|
49
35
|
prerelease: false
|
50
36
|
version_requirements: !ruby/object:Gem::Requirement
|
51
37
|
requirements:
|
52
38
|
- - "~>"
|
53
39
|
- !ruby/object:Gem::Version
|
54
|
-
version: '1.
|
40
|
+
version: '1.1'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: rake
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
58
44
|
requirements:
|
59
45
|
- - "~>"
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version: '13.
|
47
|
+
version: '13.1'
|
62
48
|
type: :development
|
63
49
|
prerelease: false
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
65
51
|
requirements:
|
66
52
|
- - "~>"
|
67
53
|
- !ruby/object:Gem::Version
|
68
|
-
version: '13.
|
54
|
+
version: '13.1'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: rspec
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
72
58
|
requirements:
|
73
59
|
- - "~>"
|
74
60
|
- !ruby/object:Gem::Version
|
75
|
-
version: '3.
|
61
|
+
version: '3.12'
|
76
62
|
type: :development
|
77
63
|
prerelease: false
|
78
64
|
version_requirements: !ruby/object:Gem::Requirement
|
79
65
|
requirements:
|
80
66
|
- - "~>"
|
81
67
|
- !ruby/object:Gem::Version
|
82
|
-
version: '3.
|
68
|
+
version: '3.12'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: rubocop
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
86
72
|
requirements:
|
87
73
|
- - "~>"
|
88
74
|
- !ruby/object:Gem::Version
|
89
|
-
version: '1.
|
75
|
+
version: '1.59'
|
90
76
|
type: :development
|
91
77
|
prerelease: false
|
92
78
|
version_requirements: !ruby/object:Gem::Requirement
|
93
79
|
requirements:
|
94
80
|
- - "~>"
|
95
81
|
- !ruby/object:Gem::Version
|
96
|
-
version: '1.
|
82
|
+
version: '1.59'
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
84
|
+
name: semverify
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
100
86
|
requirements:
|
101
87
|
- - "~>"
|
102
88
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0.
|
89
|
+
version: '0.3'
|
104
90
|
type: :development
|
105
91
|
prerelease: false
|
106
92
|
version_requirements: !ruby/object:Gem::Requirement
|
107
93
|
requirements:
|
108
94
|
- - "~>"
|
109
95
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0.
|
96
|
+
version: '0.3'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
|
-
name: simplecov
|
98
|
+
name: simplecov
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
114
100
|
requirements:
|
115
101
|
- - "~>"
|
116
102
|
- !ruby/object:Gem::Version
|
117
|
-
version: '0.
|
103
|
+
version: '0.22'
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
107
|
requirements:
|
122
108
|
- - "~>"
|
123
109
|
- !ruby/object:Gem::Version
|
124
|
-
version: '0.
|
110
|
+
version: '0.22'
|
125
111
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
112
|
+
name: simplecov-lcov
|
127
113
|
requirement: !ruby/object:Gem::Requirement
|
128
114
|
requirements:
|
129
115
|
- - "~>"
|
130
116
|
- !ruby/object:Gem::Version
|
131
|
-
version: '0.
|
117
|
+
version: '0.8'
|
132
118
|
type: :development
|
133
119
|
prerelease: false
|
134
120
|
version_requirements: !ruby/object:Gem::Requirement
|
135
121
|
requirements:
|
136
122
|
- - "~>"
|
137
123
|
- !ruby/object:Gem::Version
|
138
|
-
version: '0.
|
124
|
+
version: '0.8'
|
139
125
|
- !ruby/object:Gem::Dependency
|
140
126
|
name: redcarpet
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|
142
128
|
requirements:
|
143
129
|
- - "~>"
|
144
130
|
- !ruby/object:Gem::Version
|
145
|
-
version: '3.
|
131
|
+
version: '3.6'
|
146
132
|
type: :development
|
147
133
|
prerelease: false
|
148
134
|
version_requirements: !ruby/object:Gem::Requirement
|
149
135
|
requirements:
|
150
136
|
- - "~>"
|
151
137
|
- !ruby/object:Gem::Version
|
152
|
-
version: '3.
|
138
|
+
version: '3.6'
|
153
139
|
- !ruby/object:Gem::Dependency
|
154
140
|
name: yard
|
155
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -194,6 +180,7 @@ files:
|
|
194
180
|
- ".markdownlint.yml"
|
195
181
|
- ".rspec"
|
196
182
|
- ".rubocop.yml"
|
183
|
+
- ".tool-versions"
|
197
184
|
- ".yardopts"
|
198
185
|
- CHANGELOG.md
|
199
186
|
- Gemfile
|
@@ -222,14 +209,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
222
209
|
requirements:
|
223
210
|
- - ">="
|
224
211
|
- !ruby/object:Gem::Version
|
225
|
-
version:
|
212
|
+
version: 3.0.0
|
226
213
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
227
214
|
requirements:
|
228
215
|
- - ">="
|
229
216
|
- !ruby/object:Gem::Version
|
230
217
|
version: '0'
|
231
218
|
requirements: []
|
232
|
-
rubygems_version: 3.
|
219
|
+
rubygems_version: 3.2.33
|
233
220
|
signing_key:
|
234
221
|
specification_version: 4
|
235
222
|
summary: An API for executing commands in a subprocess
|