consoler 1.2.0 → 1.2.1

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
2
  SHA256:
3
- metadata.gz: 0010d4720e7d43dfb1f4d565b75907891be9d249722835f31ef7db564c952b86
4
- data.tar.gz: 5f5ea095545606670b4d20b33c3210fa892e91427a4f7cdf273e15fe941cf4e8
3
+ metadata.gz: 924c498b6db12469aef2fb31bbe7cc0bbcaa0e10cccb2a18b91584484b3cb189
4
+ data.tar.gz: f99cdb84ac04f1ce5baa60ce29ccd7667a5239c0b959b1310ce8f8a9da4292a9
5
5
  SHA512:
6
- metadata.gz: 2e7135eb513b261165986c85f724960991429fae68aa8a86b357209e804a6293189094dc987b91c64f03f1c29535865a81726147e9a4173d6f5ae9cbd87ef76a
7
- data.tar.gz: 49647acd0e61309181a6f0f38098b21ccfaf155549a737ebc2335dacd28d087f5562ad79577d54f18921ff42b55a1edb10e41577d92508cab4b975a48cadc816
6
+ metadata.gz: 20ff199169e12d2bff2be0d12b3bcb6e615eb5613166406c4e46963e6716fd9b70306f7b6f561525f0783866f6d8e0d4c7315b73f98150d2133bccf4a643bc48
7
+ data.tar.gz: 34fb00e04d57de3fbcfc0b8242d01f5a76010860cac2fc78a69622ee3c7c89eb656a3f6d0abe05a7c38bdf71b97a97871c6738e488d52be203c5a2cc8bb603d4
@@ -0,0 +1,34 @@
1
+ name: tests
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+ pull_request:
7
+ branches: [master]
8
+
9
+ jobs:
10
+ tests:
11
+ runs-on: ubuntu-latest
12
+
13
+ strategy:
14
+ fail-fast: false
15
+ matrix:
16
+ ruby: ['2.4', '2.5', '2.6', '2.7', '3.0']
17
+
18
+ name: Ruby ${{ matrix.ruby }}
19
+
20
+ steps:
21
+ - uses: actions/checkout@v2
22
+
23
+ - name: Set up Ruby
24
+ # change this to (see https://github.com/ruby/setup-ruby#versioning):
25
+ uses: ruby/setup-ruby@v1
26
+ with:
27
+ ruby-version: ${{ matrix.ruby }}
28
+ bundler-cache: true
29
+
30
+ - name: Report Ruby version
31
+ run: ruby -v
32
+
33
+ - name: Run tests
34
+ run: bundle exec rake
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Consoler [![Build Status](https://api.travis-ci.org/justim/consoler-rb.svg?branch=master)](https://travis-ci.org/justim/consoler-rb) [![Gem Version](https://badge.fury.io/rb/consoler.svg)](https://badge.fury.io/rb/consoler)
1
+ # Consoler [![Gem Version](https://badge.fury.io/rb/consoler.svg)](https://badge.fury.io/rb/consoler)
2
2
 
3
3
  > Sinatra-like application builder for the console
4
4
 
@@ -38,11 +38,11 @@ app.run
38
38
 
39
39
  Tests are run against multiple ruby versions (latest supported):
40
40
 
41
- - `2.2.x`
42
- - `2.3.x`
43
41
  - `2.4.x`
44
42
  - `2.5.x`
45
43
  - `2.6.x`
44
+ - `2.7.x`
45
+ - `3.0.x`
46
46
 
47
47
  No other requirements exist.
48
48
 
@@ -55,20 +55,20 @@ gem install consoler
55
55
  or add to your `Gemfile` for applications
56
56
 
57
57
  ```ruby
58
- gem 'consoler', '~> 1.2.0'
58
+ gem 'consoler', '~> 1.2.1'
59
59
  ```
60
60
 
61
61
  or to your `.gemspec` file for gems
62
62
 
63
63
  ```ruby
64
64
  Gem::Specification.new do |spec|
65
- spec.add_dependency 'consoler', '~> 1.2.0'
65
+ spec.add_dependency 'consoler', '~> 1.2.1'
66
66
  end
67
67
  ```
68
68
 
69
69
  ## Docs
70
70
 
71
- Full API documentation can the found here: https://www.rubydoc.info/gems/consoler/1.2.0
71
+ Full API documentation can the found here: https://www.rubydoc.info/gems/consoler/1.2.1
72
72
 
73
73
  ### API
74
74
 
@@ -152,15 +152,15 @@ ruby app.rb d --verbose
152
152
 
153
153
  #### Options definition
154
154
 
155
- | Option | Meaning | Example |
156
- | -------------- | ------------------------------- | -------------------------------------- |
157
- | `-f` | Short option with name `f` | `ruby app.rb build -f` |
158
- | `--clean` | Long option with name `clean` | `ruby app.rb build --clean` |
159
- | `-v|--verbose` | Alias option for `v` | `ruby app.rb build --verbose` |
160
- | `<output_dir>` | Argument with name `output_dir` | `ruby app.rb build dist/` |
161
- | `--env=` | Long option with value | `ruby app.rb build --env production` |
162
- | `-e=` | Short option with value | `ruby app.rb build -e production` |
163
- | `[ .. ]` | Optional options/arguments | `ruby app.rb build` would match `[-v]` |
155
+ | Option | Meaning | Example |
156
+ | --------------- | ------------------------------- | -------------------------------------- |
157
+ | `-f` | Short option with name `f` | `ruby app.rb build -f` |
158
+ | `--clean` | Long option with name `clean` | `ruby app.rb build --clean` |
159
+ | `-v\|--verbose` | Alias option for `v` | `ruby app.rb build --verbose` |
160
+ | `<output_dir>` | Argument with name `output_dir` | `ruby app.rb build dist/` |
161
+ | `--env=` | Long option with value | `ruby app.rb build --env production` |
162
+ | `-e=` | Short option with value | `ruby app.rb build -e production` |
163
+ | `[ .. ]` | Optional options/arguments | `ruby app.rb build` would match `[-v]` |
164
164
 
165
165
  Some notes about these options:
166
166
 
@@ -22,10 +22,10 @@ Gem::Specification.new do |spec|
22
22
  # build docs on install
23
23
  spec.metadata['yard.run'] = 'yri'
24
24
 
25
- spec.required_ruby_version = '>= 2.2'
26
- spec.add_development_dependency 'bundler', '~> 1.15'
25
+ spec.required_ruby_version = '>= 2.4'
26
+ spec.add_development_dependency 'bundler', '~> 2.0'
27
27
  spec.add_development_dependency 'minitest', '~> 5.11.3'
28
28
  spec.add_development_dependency 'rake', '~> 12.3.0'
29
- spec.add_development_dependency 'simplecov', '~> 0.15.1'
29
+ spec.add_development_dependency 'simplecov', '~> 0.16.1'
30
30
  spec.add_development_dependency 'yard', '~> 0.9.12'
31
31
  end
@@ -201,11 +201,13 @@ module Consoler
201
201
 
202
202
  # Match arguments to defined option arguments
203
203
  #
204
- # @return [Array<String>] The remaining args
204
+ # @return [Array<String>, nil] The remaining args,
205
+ # or <tt>nil</tt> if there are not enough arguments
205
206
  def _match_arguments
206
207
  @optionals_before = {}
207
208
  @optionals_before_has_remaining = false
208
209
 
210
+ total_argument_values = @argument_values.size
209
211
  argument_values_index = 0
210
212
 
211
213
  _match_arguments_optionals_before
@@ -216,6 +218,8 @@ module Consoler
216
218
  optionals.each do |_, optional|
217
219
  optional.each do |before|
218
220
  if before[:included]
221
+ return nil if argument_values_index >= total_argument_values
222
+
219
223
  @matched_options[before[:name]] = @argument_values[argument_values_index]
220
224
  argument_values_index += 1
221
225
  end
@@ -224,6 +228,8 @@ module Consoler
224
228
 
225
229
  # only fill mandatory argument if its not the :REMAINING key
226
230
  if mandatory_arg_name != :REMAINING
231
+ return nil if argument_values_index >= total_argument_values
232
+
227
233
  @matched_options[mandatory_arg_name] = @argument_values[argument_values_index]
228
234
  argument_values_index += 1
229
235
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Consoler
4
4
  # Current version number
5
- VERSION = '1.2.0'.freeze
5
+ VERSION = '1.2.1'.freeze
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: consoler
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-23 00:00:00.000000000 Z
11
+ date: 2020-12-30 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.15'
19
+ version: '2.0'
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.15'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.15.1
61
+ version: 0.16.1
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.15.1
68
+ version: 0.16.1
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: yard
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -87,9 +87,9 @@ extensions: []
87
87
  extra_rdoc_files: []
88
88
  files:
89
89
  - ".editorconfig"
90
+ - ".github/workflows/tests.yml"
90
91
  - ".gitignore"
91
92
  - ".rubocop.yml"
92
- - ".travis.yml"
93
93
  - ".yardopts"
94
94
  - Gemfile
95
95
  - LICENSE.txt
@@ -117,15 +117,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
117
117
  requirements:
118
118
  - - ">="
119
119
  - !ruby/object:Gem::Version
120
- version: '2.2'
120
+ version: '2.4'
121
121
  required_rubygems_version: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - ">="
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
126
  requirements: []
127
- rubyforge_project:
128
- rubygems_version: 2.7.6
127
+ rubygems_version: 3.1.2
129
128
  signing_key:
130
129
  specification_version: 4
131
130
  summary: Consoler
@@ -1,12 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.2.10
5
- - 2.3.8
6
- - 2.4.5
7
- - 2.5.3
8
- - 2.6.1
9
- cache:
10
- - bundler
11
- script:
12
- - bundle exec rake