process_executer 0.7.0 → 1.0.0

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: bdb10a8f78253461f61b874a6a094e9908c33cf32c4a6c82f9cebf31b281ea93
4
- data.tar.gz: 16f97ee4edf9a01f74de0ad1450ad04b5f7418f0c680f3b17d95caaee49508a4
3
+ metadata.gz: ec0548ff8356b9466db5fe9c9992e134010c9842561e1b0c0b95a5418fb2c2d2
4
+ data.tar.gz: 7b9ead3538f7117b453a5353ad0a1ed352b7c60fa86fbacaa12081ff32b411cb
5
5
  SHA512:
6
- metadata.gz: 7e027250947cded019299fb2559f107ee87a5e327d0be0c8af144063b12fe8ed1600bab5313ddf464fd00cdd69c33dc012f3615634ada7a7da4debbceb862728
7
- data.tar.gz: 8ab0f408efdb5ad44e69b70c16c8175b47747c18cbddbe7f6f9e724621eaaf3931958a2c1ec2495be2fa43987abe98dfc663347961e479fedf09146772671453
6
+ metadata.gz: a35f9cd143bf7236efbb107a8de130784c195bedb83e95262cc26ae7e2b7e586b7230bdf1ad680c508a5dd8b2c3398c89290ad01a1e5914e165179c298bf5b11
7
+ data.tar.gz: 5dabb78fd2151f587078b3a139974eb390e23e86be961ce93a7d4f65dd161007e8a175b36b208d13939d38cd5dab41f0a446e7d5213aee34c7f07273c4804f49
data/.markdownlint.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  default: true
2
2
 
3
3
  # Unordered list indentation
4
- MD007: { indent: 4 }
4
+ MD007: { indent: 2 }
5
5
 
6
6
  # Line length
7
7
  MD013: { line_length: 90, tables: false, code_blocks: false }
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: 2.7
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
  [![Maintainability](https://api.codeclimate.com/v1/badges/0b5c67e5c2a773009cd0/maintainability)](https://codeclimate.com/github/main-branch/process_executer/maintainability)
8
8
  [![Test Coverage](https://api.codeclimate.com/v1/badges/0b5c67e5c2a773009cd0/test_coverage)](https://codeclimate.com/github/main-branch/process_executer/test_coverage)
9
9
 
10
- ## Features
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, an pipe is created (via IO.pipe) and
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
- ## Usage
96
+ ## Contributing
86
97
 
87
- See the examples in the project's YARD documentation.
98
+ ### Reporting Issues
88
99
 
89
- ## Development
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
- After checking out the repo, run `bin/setup` to install dependencies. Then, run
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
- To install this gem onto your local machine, run `bundle exec rake install`. To
96
- release a new version, update the version number in `version.rb`, and then run
97
- `bundle exec rake release`, which will create a git tag for the version, push git
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
- ## Contributing
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
- Bug reports and pull requests are welcome on our
104
- [GitHub issue tracker](https://github.com/main-branch/process_executer)
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 License](https://opensource.org/licenses/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
@@ -31,10 +31,6 @@ end
31
31
  CLEAN << 'pkg'
32
32
  CLOBBER << 'Gemfile.lock'
33
33
 
34
- # Bump
35
-
36
- require 'bump/tasks'
37
-
38
34
  # RSpec
39
35
 
40
36
  require 'rspec/core/rake_task'
@@ -2,5 +2,5 @@
2
2
 
3
3
  module ProcessExecuter
4
4
  # The current Gem version
5
- VERSION = '0.7.0'
5
+ VERSION = '1.0.0'
6
6
  end
@@ -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 = '>= 2.7.0'
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.0'
39
- spec.add_development_dependency 'rake', '~> 13.0'
40
- spec.add_development_dependency 'rspec', '~> 3.10'
41
- spec.add_development_dependency 'rubocop', '~> 1.36'
42
- spec.add_development_dependency 'simplecov', '~> 0.21'
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.5'
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.7.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-02-18 00:00:00.000000000 Z
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.0'
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.0'
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.0'
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.0'
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.10'
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.10'
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.36'
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.36'
82
+ version: '1.59'
97
83
  - !ruby/object:Gem::Dependency
98
- name: simplecov
84
+ name: semverify
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - "~>"
102
88
  - !ruby/object:Gem::Version
103
- version: '0.21'
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.21'
96
+ version: '0.3'
111
97
  - !ruby/object:Gem::Dependency
112
- name: simplecov-lcov
98
+ name: simplecov
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
101
  - - "~>"
116
102
  - !ruby/object:Gem::Version
117
- version: '0.8'
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.8'
110
+ version: '0.22'
125
111
  - !ruby/object:Gem::Dependency
126
- name: solargraph
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.47'
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.47'
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.5'
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.5'
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: 2.7.0
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.4.1
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