libclimate-ruby 0.17.1 → 0.17.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
2
  SHA256:
3
- metadata.gz: c1014739a5918db9efeb5135cf15f993bdd7ef3e09192661b9ea204ff56162f0
4
- data.tar.gz: 74d345f4b3bb769d416b0a13adf6483810855426b7fcc38a78fc62086b391b9e
3
+ metadata.gz: 9e008af1595126fc59add8c846945db43f78b94f1348825eb2cf605747f5025b
4
+ data.tar.gz: b287b4ec69e3618a8dda21cb01edfc487dfde348c1ba514513e63bbb61d68d6c
5
5
  SHA512:
6
- metadata.gz: 622c85547fcf19727ee1fda68455440791001652d4d29d323f051061ac426b493aecab3cd7be8bb89b53403aa53a397b83139d5228b854eff577443597a5a463
7
- data.tar.gz: c55439ac1104533836c03f9a786d1a2ab80677a4a8b3947ea46ffb103ac81686906ddcc910a8c80bd43247b974a672ce8dd8219614a7098d7786bc012c0c869c
6
+ metadata.gz: f45267cf4b3b37b26406a480f3efd3b92f5126fc399a898ddc2655fa61a962a58f1bd187bee330fd620503732b00a71f06446bbdaaf0a425b53078015c6ad050
7
+ data.tar.gz: abcdcbefa5dc783d431c52bbb74d073f8eada8064ece0cf101868a066b7188bd5750dc499dcabd0e3c5323843a3b5b1d612855763806db5e169d34bb84379259
data/AUTHORS.md ADDED
@@ -0,0 +1,21 @@
1
+ # libCLImate.Ruby - Authors <!-- omit in toc -->
2
+
3
+
4
+ ## Major Contributors
5
+
6
+ | Name | GitHub |
7
+ | ----------- | --------------------------------- |
8
+ | Matt Wilson | [mwsis](https://github.com/mwsis) |
9
+
10
+
11
+ ## Defect reports, fixes and suggestions (for which we are very grateful)
12
+
13
+ | Name | GitHub |
14
+ | ----------- | --------------------------------- |
15
+ | \<none> | |
16
+
17
+
18
+ Contributions are welcomed.
19
+
20
+
21
+ <!-- ########################### end of file ########################### -->
data/CHANGES.md ADDED
@@ -0,0 +1,310 @@
1
+ # libCLImate.Ruby - Changes <!-- omit in toc -->
2
+
3
+
4
+ ## 0.17.3 - 28th August 2026
5
+
6
+ * library source **Home:** URLs now use `https`;
7
+ * renamed **libCLImate.gemspec** to **libclimate-ruby.gemspec** so the filename stem matches `spec.name`;
8
+ * **libclimate-ruby.gemspec**: `required_ruby_version` is the range `>= 2.0`; **Gemfile.lock** and **.ruby-version** excluded from `spec.files`; `spec.summary` matches the README tagline; packaged **AUTHORS**, **CHANGES**, **CONTRIBUTING**, **EXAMPLES**, **FAQ**, **INSTALL**, **NEWS**, **SECURITY**, **TODO**;
9
+ * **Gemfile** sets `lockfile false` when Bundler supports it; stop tracking **Gemfile.lock**;
10
+ * CI uses `bundler-cache: false` and explicit `bundle install`; **Warnings** job on Ruby **3.4**; `gem build libclimate-ruby.gemspec`;
11
+ * updated **run_all_unit_tests.sh** (from https://github.com/synesissoftware/misc-dev-scripts) to skip **tput** when **$TERM** is unset or stdout is not a TTY;
12
+ * **README.md**: dropped Downloads / GitHub-release badges; nested **Dependencies** (Efferent / Afferent); listed **oss-src-tools** as a runtime dependent; dropped the broken **xqsr3** related-project URL;
13
+ * **EXAMPLES.md** example links are repo-relative (`./examples/…`);
14
+
15
+
16
+ ## 0.17.2 - 15th August 2026
17
+
18
+ * added `# frozen_string_literal: true` to all **lib/** sources;
19
+
20
+
21
+ ## 0.17.1 - 30th July 2026
22
+
23
+ * fixed unrecognised flag/option reporting defect;
24
+
25
+
26
+ ## 0.17.0.2 - 30th July 2026
27
+
28
+ * added **TODO.md** and updated existing boilerplate files to use the end-of-file marker;
29
+ * updated boilerplate (**README.md**, **LICENSE**, **libCLImate.gemspec**, **.vscode/settings.json**, helper scripts);
30
+ * updated **README.md** tagline placement, badges, and Efferent/Afferent dependencies section;
31
+ * updated dependencies;
32
+ * tidying;
33
+ * added **.vimrc**;
34
+
35
+
36
+ ## 0.17.0.1 - 5th March 2025
37
+
38
+ * improved **README.md** tagline placement, dependencies section, and license badge;
39
+ * updated **CHANGES.md**;
40
+ * added **TODO.md**;
41
+ * updated **EXAMPLES.md** to use end-of-file marker;
42
+ * expanded **.vscode/settings.json** language and formatting settings;
43
+ * applied consistent indentation in examples and tests;
44
+
45
+
46
+ ## 0.17.0 - 10th August 2024
47
+
48
+ * added option `:value_attributes` so value-names from `#value_names` are applied as attributes when present on the command-line;
49
+ * updated dependencies;
50
+ * updated **CHANGES.md**;
51
+ * preparatory work;
52
+ * settings;
53
+ * updated **run_all_unit_tests.sh** (from **synesissoftware/misc-dev-scripts**);
54
+
55
+
56
+ ## 0.16.0.1 - 1st December 2023
57
+
58
+ * Merged branch double_slash_index;
59
+
60
+
61
+ ## 0.16.0 - 1st December 2023
62
+
63
+ * added `libCLImate::Climate#double_slash_index` / `libCLImate::Climate::ParseResults#double_slash_index`;
64
+ * updated dependency versions;
65
+ * tidying;
66
+
67
+
68
+ ## 0.15.2 - 26th June 2022
69
+
70
+ * forced version update;
71
+
72
+
73
+ ## 0.15.1 - 26th June 2022
74
+
75
+ * updated **README.md** and gemspec;
76
+ * fix to examples;
77
+
78
+
79
+ ## 0.15.0 - 29th April 2019
80
+
81
+ * added `Climate#parse()` and `Climate#parse_and_verify()`;
82
+ * added `Climate::ParseResults`, returned from `#parse()` and `#parse_and_verify()`;
83
+ * various example and documentation improvements;
84
+
85
+
86
+ ## 0.14.1 - 29th April 2019
87
+
88
+ * added **Gemfile**;
89
+
90
+
91
+ ## 0.14.0.1 - 29th April 2019
92
+
93
+ * merge;
94
+
95
+
96
+ ## 0.14.0 - 15th April 2019
97
+
98
+ * `Climate#constrain_values` now supports `Array` (as well as `Integer` and `Range`);
99
+ * added `Climate#usage_help_suffix`, defaulting to "use --help for usage";
100
+
101
+
102
+ ## 0.13.0 - 13th April 2019
103
+
104
+ * added `CLASP::Arguments.load()` for loading argument-specifications from `Hash` or YAML;
105
+ * added **examples/flag_and_option_specifications.from_DATA.rb** illustrating `__END__` / `DATA` YAML climate specification;
106
+ * added `Climate#on_flag()` and `Climate#on_option()` to attach blocks to existing specifications;
107
+ * corrected defect whereby `exit_on_unknown` was used instead of `exit_on_missing` when checking required values;
108
+
109
+
110
+ ## 0.12.2 - 13th April 2019
111
+
112
+ * much improved documentation;
113
+
114
+
115
+ ## 0.12.1 - 12th April 2019
116
+
117
+ * minor documentation fixes;
118
+
119
+
120
+ ## 0.12.0 - 12th April 2019
121
+
122
+ * updated in light of CLASP's changed terminology from *[aA]lias => *[sS]pecification;
123
+
124
+
125
+ ## 0.11.2 - 8th January 2018
126
+
127
+ * SimpleConsoleLogService : ~ corrected handling of symbol as severity;
128
+
129
+
130
+ ## 0.11.1 - 6th January 2018
131
+
132
+ * renamed SimpleConsoleService => SimpleConsoleLogService; + added NullLogService class; + added log service class tests;
133
+
134
+
135
+ ## 0.11.0 - 19th March 2019
136
+
137
+ * Climate methods #add_alias(), #add_flag(), #add_option() now take FlagAlias and OptionAlias class instances in addition to names;
138
+
139
+
140
+ ## 0.10.1.1 - 19th October 2018
141
+
142
+ * dependencies;
143
+
144
+
145
+ ## 0.10.1 - 6th January 2018
146
+
147
+ * added :benchmark severity level;
148
+
149
+
150
+ ## 0.9.4 - 6th January 2018
151
+
152
+ * added unit-tests for stock severity levels;
153
+
154
+
155
+ ## 0.9.3 - 6th January 2018
156
+
157
+ * tagged release;
158
+
159
+
160
+ ## 0.9.2 - 2nd January 2018
161
+
162
+ * prefix now in [ ];
163
+
164
+
165
+ ## 0.9.1 - 24th December 2017
166
+
167
+ * fixing;
168
+
169
+
170
+ ## 0.8.4 - 8th January 2019
171
+
172
+ * tagged release;
173
+
174
+
175
+ ## 0.8.3 - 6th September 2018
176
+
177
+ * minor changes to documentation markup;
178
+
179
+
180
+ ## 0.8.2 - 13th July 2018
181
+
182
+ * merge version update;
183
+
184
+
185
+ ## 0.8.1 - 18th June 2018
186
+
187
+ * now recognised PROGRAM_VER_PATCH (in the stead of PROGRAM_VER_REVISION);
188
+
189
+
190
+ ## 0.8.0 - 23rd December 2017
191
+
192
+ * starting to break out impl. into Pantheios::Core;
193
+
194
+
195
+ ## 0.7.4 - 7th February 2018
196
+
197
+ * merge;
198
+
199
+
200
+ ## 0.7.3 - 5th February 2018
201
+
202
+ * LibCLImate::Climate::set_program_name(), which uses Colcon if available;
203
+
204
+
205
+ ## 0.7.2 - 3rd January 2018
206
+
207
+ * merge version update;
208
+
209
+
210
+ ## 0.7.1 - 1st January 2018
211
+
212
+ * added support for required options (based on CLASP.Ruby 0.12;
213
+
214
+
215
+ ## 0.6.5 - 1st January 2018
216
+
217
+ * preparatory mods;
218
+
219
+
220
+ ## 0.6.4 - 1st January 2018
221
+
222
+ * fixed the version inference;
223
+
224
+
225
+ ## 0.6.3 - 22nd June 2017
226
+
227
+ * tagged release;
228
+
229
+
230
+ ## 0.6.2 - 16th March 2017
231
+
232
+ * fix;
233
+
234
+
235
+ ## 0.6.1 - 16th March 2017
236
+
237
+ * added inference of version;
238
+
239
+
240
+ ## 0.5.8 - 17th October 2016
241
+
242
+ * tidying up contract enforcements;
243
+
244
+
245
+ ## 0.5.7 - 17th October 2016
246
+
247
+ * simplified unit test;
248
+
249
+
250
+ ## 0.5.6 - 17th October 2016
251
+
252
+ * updated documentation;
253
+
254
+
255
+ ## 0.5.5 - 26th June 2016
256
+
257
+ * changed hash-bangs;
258
+
259
+
260
+ ## 0.5.4 - 18th June 2016
261
+
262
+ * fixed lacking blocks in new add_*() methods;
263
+
264
+
265
+ ## 0.5.3 - 17th June 2016
266
+
267
+ * fix;
268
+
269
+
270
+ ## 0.4.1 - 14th June 2016
271
+
272
+ * tidying;
273
+
274
+
275
+ ## 0.3.1 - 13th June 2016
276
+
277
+ * merge;
278
+
279
+
280
+ ## 0.2.4 - 13th June 2016
281
+
282
+ * 0.2.4 changes;
283
+
284
+
285
+ ## 0.2.3 - 12th June 2016
286
+
287
+ * fixed extras handling for flags;
288
+
289
+
290
+ ## 0.2.2 - 11th June 2016
291
+
292
+ * merge;
293
+
294
+
295
+ ## 0.2.1 - 6th June 2016
296
+
297
+ * specified ranges for dependent libraries;
298
+
299
+
300
+ ## 0.1.2 - 14th May 2016
301
+
302
+ * added Climate class, and basics of API;
303
+
304
+
305
+ ## 0.1.1 - 14th July 2015
306
+
307
+ * added basic skeleton (0.1.1);
308
+
309
+
310
+ <!-- ########################### end of file ########################### -->
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,36 @@
1
+ # libCLImate.Ruby - Contributing <!-- omit in toc -->
2
+
3
+
4
+ ## Table of Contents <!-- omit in toc -->
5
+
6
+ - [Defects and features](#defects-and-features)
7
+ - [Pull requests](#pull-requests)
8
+ - [Tests](#tests)
9
+ - [License](#license)
10
+
11
+
12
+ ## Defects and features
13
+
14
+ Open an issue on https://github.com/synesissoftware/libCLImate.Ruby/issues.
15
+
16
+
17
+ ## Pull requests
18
+
19
+ Pull requests are welcome on https://github.com/synesissoftware/libCLImate.Ruby. Keep diffs local to the change; match existing indentation (2 spaces in Ruby) and the Synesis markdown set (**README.md**, **CHANGES.md**, **NEWS.md**, **TODO.md**, **INSTALL.md**, **CONTRIBUTING.md**, **SECURITY.md**).
20
+
21
+
22
+ ## Tests
23
+
24
+ ```
25
+ bundle exec rake test
26
+ ```
27
+
28
+ or `./run_all_unit_tests.sh`.
29
+
30
+
31
+ ## License
32
+
33
+ Contributions are accepted under the 3-clause BSD license. See [LICENSE](./LICENSE).
34
+
35
+
36
+ <!-- ########################### end of file ########################### -->
data/EXAMPLES.md ADDED
@@ -0,0 +1,10 @@
1
+ # libCLImate.Ruby - Examples <!-- omit in toc -->
2
+
3
+ |Name|Source & Description|Summary|
4
+ |---|---|---|
5
+ |**show_usage_and_version**|[examples/show_usage_and_version.rb](./examples/show_usage_and_version.rb)<br/>[examples/show_usage_and_version.md](./examples/show_usage_and_version.md)|Simple example supporting ```--help``` and ```--version```|
6
+ |**flag_and_option_specifications**|[examples/flag_and_option_specifications.rb](./examples/flag_and_option_specifications.rb)<br/>[examples/flag_and_option_specifications.md](./examples/flag_and_option_specifications.md)|Example illustrating various kinds of *flag* and *option* specifications|
7
+ |**flag_and_option_specifications.from_DATA**|[examples/flag_and_option_specifications.from_DATA.rb](./examples/flag_and_option_specifications.from_DATA.rb)<br/>[examples/flag_and_option_specifications.from_DATA.md](./examples/flag_and_option_specifications.from_DATA.md)|Example illustrating various kinds of *flag* and *option* specifications loaded from the ``__END__``/``DATA`` section of the program file as **YAML**|
8
+
9
+
10
+ <!-- ########################### end of file ########################### -->
data/FAQ.md ADDED
@@ -0,0 +1,28 @@
1
+ # libCLImate.Ruby - FAQ <!-- omit in toc -->
2
+
3
+ The FAQ list is under (constant) development. If you post a question on the
4
+ [Issues](https://github.com/synesissoftware/libCLImate.Ruby/issues) forum
5
+ it will be used to create one.
6
+
7
+
8
+ ## Table of Contents <!-- omit in toc -->
9
+
10
+ - [Q1: "How do I install this library?"](#q1-how-do-i-install-this-library)
11
+
12
+
13
+ # FAQs: <!-- omit in toc -->
14
+
15
+
16
+ ## Q1: "How do I install this library?"
17
+
18
+ Install via **gem**:
19
+
20
+ ```
21
+ gem install libclimate-ruby
22
+ ```
23
+
24
+ See [README.md](./README.md) for usage.
25
+
26
+
27
+
28
+ <!-- ########################### end of file ########################### -->
data/INSTALL.md ADDED
@@ -0,0 +1,41 @@
1
+ # libCLImate.Ruby - Installation and Use <!-- omit in toc -->
2
+
3
+
4
+ ## Table of Contents <!-- omit in toc -->
5
+
6
+ - [Install the gem](#install-the-gem)
7
+ - [From a source checkout](#from-a-source-checkout)
8
+ - [Using the library](#using-the-library)
9
+
10
+
11
+ ## Install the gem
12
+
13
+ ```
14
+ gem install libclimate-ruby
15
+ ```
16
+
17
+ or add to a **Gemfile**:
18
+
19
+ ```Ruby
20
+ gem 'libclimate-ruby'
21
+ ```
22
+
23
+ then `bundle install`.
24
+
25
+
26
+ ## From a source checkout
27
+
28
+ ```
29
+ bundle install
30
+ bundle exec rake test
31
+ ```
32
+
33
+
34
+ ## Using the library
35
+
36
+ ```Ruby
37
+ require 'libclimate'
38
+ ```
39
+
40
+
41
+ <!-- ########################### end of file ########################### -->
data/NEWS.md ADDED
@@ -0,0 +1,62 @@
1
+ # libCLImate.Ruby - News <!-- omit in toc -->
2
+
3
+ | Date | News Item |
4
+ | ------------------ | ----------------------------------------------------------------------------------------------- |
5
+ | 28th August 2026 | [**libCLImate.Ruby** 0.17.3](https://github.com/synesissoftware/libCLImate.Ruby/releases/tag/0.17.3) |
6
+ | 15th August 2026 | [**libCLImate.Ruby** 0.17.2](https://github.com/synesissoftware/libCLImate.Ruby/releases/tag/0.17.2) |
7
+ | 30th July 2026 | [**libCLImate.Ruby** 0.17.1](https://github.com/synesissoftware/libCLImate.Ruby/releases/tag/0.17.1) |
8
+ | 30th July 2026 | **libCLImate.Ruby** 0.17.0.2 released |
9
+ | 5th March 2025 | **libCLImate.Ruby** 0.17.0.1 released |
10
+ | 10th August 2024 | **libCLImate.Ruby** 0.17.0 released |
11
+ | 1st December 2023 | **libCLImate.Ruby** 0.16.0.1 released |
12
+ | 1st December 2023 | **libCLImate.Ruby** 0.16.0 released |
13
+ | 26th June 2022 | **libCLImate.Ruby** 0.15.2 released |
14
+ | 26th June 2022 | **libCLImate.Ruby** 0.15.1 released |
15
+ | 29th April 2019 | **libCLImate.Ruby** 0.15.0 released |
16
+ | 29th April 2019 | **libCLImate.Ruby** 0.14.1 released |
17
+ | 29th April 2019 | **libCLImate.Ruby** 0.14.0.1 released |
18
+ | 15th April 2019 | **libCLImate.Ruby** 0.14.0 released |
19
+ | 13th April 2019 | **libCLImate.Ruby** 0.13.0 released |
20
+ | 13th April 2019 | **libCLImate.Ruby** 0.12.2 released |
21
+ | 12th April 2019 | **libCLImate.Ruby** 0.12.1 released |
22
+ | 12th April 2019 | **libCLImate.Ruby** 0.12.0 released |
23
+ | 19th March 2019 | **libCLImate.Ruby** 0.11.0 released |
24
+ | 8th January 2019 | **libCLImate.Ruby** 0.8.4 released |
25
+ | 19th October 2018 | **libCLImate.Ruby** 0.10.1.1 released |
26
+ | 6th September 2018 | **libCLImate.Ruby** 0.8.3 released |
27
+ | 13th July 2018 | **libCLImate.Ruby** 0.8.2 released |
28
+ | 18th June 2018 | **libCLImate.Ruby** 0.8.1 released |
29
+ | 7th February 2018 | **libCLImate.Ruby** 0.7.4 released |
30
+ | 5th February 2018 | **libCLImate.Ruby** 0.7.3 released |
31
+ | 8th January 2018 | **libCLImate.Ruby** 0.11.2 released |
32
+ | 6th January 2018 | **libCLImate.Ruby** 0.11.1 released |
33
+ | 6th January 2018 | **libCLImate.Ruby** 0.10.1 released |
34
+ | 6th January 2018 | **libCLImate.Ruby** 0.9.4 released |
35
+ | 6th January 2018 | **libCLImate.Ruby** 0.9.3 released |
36
+ | 3rd January 2018 | **libCLImate.Ruby** 0.7.2 released |
37
+ | 2nd January 2018 | **libCLImate.Ruby** 0.9.2 released |
38
+ | 1st January 2018 | **libCLImate.Ruby** 0.7.1 released |
39
+ | 1st January 2018 | **libCLImate.Ruby** 0.6.5 released |
40
+ | 1st January 2018 | **libCLImate.Ruby** 0.6.4 released |
41
+ | 24th December 2017 | **libCLImate.Ruby** 0.9.1 released |
42
+ | 23rd December 2017 | **libCLImate.Ruby** 0.8.0 released |
43
+ | 22nd June 2017 | **libCLImate.Ruby** 0.6.3 released |
44
+ | 16th March 2017 | **libCLImate.Ruby** 0.6.2 released |
45
+ | 16th March 2017 | **libCLImate.Ruby** 0.6.1 released |
46
+ | 17th October 2016 | **libCLImate.Ruby** 0.5.8 released |
47
+ | 17th October 2016 | **libCLImate.Ruby** 0.5.7 released |
48
+ | 17th October 2016 | **libCLImate.Ruby** 0.5.6 released |
49
+ | 26th June 2016 | **libCLImate.Ruby** 0.5.5 released |
50
+ | 18th June 2016 | **libCLImate.Ruby** 0.5.4 released |
51
+ | 17th June 2016 | **libCLImate.Ruby** 0.5.3 released |
52
+ | 14th June 2016 | **libCLImate.Ruby** 0.4.1 released |
53
+ | 13th June 2016 | **libCLImate.Ruby** 0.3.1 released |
54
+ | 13th June 2016 | **libCLImate.Ruby** 0.2.4 released |
55
+ | 12th June 2016 | **libCLImate.Ruby** 0.2.3 released |
56
+ | 11th June 2016 | **libCLImate.Ruby** 0.2.2 released |
57
+ | 6th June 2016 | **libCLImate.Ruby** 0.2.1 released |
58
+ | 14th May 2016 | **libCLImate.Ruby** 0.1.2 released |
59
+ | 14th July 2015 | **libCLImate.Ruby** 0.1.1 released |
60
+
61
+
62
+ <!-- ########################### end of file ########################### -->
data/README.md CHANGED
@@ -5,9 +5,8 @@ libCLImate, for Ruby
5
5
  ![Language](https://img.shields.io/badge/Ruby-CC342D?style=flat&logo=ruby&logoColor=white)
6
6
  [![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
7
7
  [![Gem Version](https://badge.fury.io/rb/libclimate-ruby.svg)](https://badge.fury.io/rb/libclimate-ruby)
8
- [![Gem Downloads](https://img.shields.io/gem/dt/libclimate-ruby.svg)](https://rubygems.org/gems/libclimate-ruby)
9
- [![GitHub release](https://img.shields.io/github/v/release/synesissoftware/libCLImate.Ruby.svg)](https://github.com/synesissoftware/libCLImate.Ruby/releases/latest)
10
8
  [![Last Commit](https://img.shields.io/github/last-commit/synesissoftware/libCLImate.Ruby)](https://github.com/synesissoftware/libCLImate.Ruby/commits/master)
9
+ [![Ruby](https://github.com/synesissoftware/libCLImate.Ruby/actions/workflows/ruby.yml/badge.svg)](https://github.com/synesissoftware/libCLImate.Ruby/actions/workflows/ruby.yml)
11
10
 
12
11
 
13
12
  ## Table of Contents <!-- omit in toc -->
@@ -20,6 +19,12 @@ libCLImate, for Ruby
20
19
  - [Where to get help](#where-to-get-help)
21
20
  - [Contribution guidelines](#contribution-guidelines)
22
21
  - [Dependencies](#dependencies)
22
+ - [Efferent (fan-out)](#efferent-fan-out)
23
+ - [Runtime Dependencies (aka "Normal Dependencies")](#runtime-dependencies-aka-normal-dependencies)
24
+ - [Development Dependencies](#development-dependencies)
25
+ - [Afferent (fan-in)](#afferent-fan-in)
26
+ - [Runtime dependents](#runtime-dependents)
27
+ - [Development dependents](#development-dependents)
23
28
  - [Related projects](#related-projects)
24
29
  - [License](#license)
25
30
 
@@ -114,25 +119,49 @@ Defect reports, feature requests, and pull requests are welcome on https://githu
114
119
 
115
120
  ### Dependencies
116
121
 
117
- This library has efferent dependencies on:
118
122
 
119
- * the [**CLASP.Ruby**](https://github.com/synesissoftware/CLASP.Ruby) library; and
120
- * the [**xqsr3**](https://github.com/synesissoftware/xqsr3) library.
123
+ #### Efferent (fan-out)
121
124
 
122
- It has no known afferent dependencies.
125
+ Libraries upon which **libCLImate.Ruby** depends:
126
+
127
+
128
+ ##### Runtime Dependencies (aka "Normal Dependencies")
129
+
130
+ * [**CLASP.Ruby**](https://github.com/synesissoftware/CLASP.Ruby);
131
+ * [**xqsr3**](https://github.com/synesissoftware/xqsr3);
132
+
133
+
134
+ ##### Development Dependencies
135
+
136
+ * [**rake**](https://rubygems.org/gems/rake);
137
+ * [**test-unit**](https://rubygems.org/gems/test-unit);
138
+
139
+
140
+ #### Afferent (fan-in)
141
+
142
+ Projects that depend on **libCLImate.Ruby**:
143
+
144
+
145
+ ##### Runtime dependents
146
+
147
+ * [**oss-src-tools**](https://github.com/mwsis/oss-src-tools);
148
+
149
+
150
+ ##### Development dependents
151
+
152
+ * \<none>;
123
153
 
124
154
 
125
155
  ### Related projects
126
156
 
127
- * [**CLASP**](https://github.com/synesissoftware/CLASP/)
128
- * [**CLASP.Go**](https://github.com/synesissoftware/CLASP.Go/)
129
- * [**CLASP.js**](https://github.com/synesissoftware/CLASP.js/)
130
- * [**CLASP.NET**](https://github.com/synesissoftware/CLASP.NET/)
131
- * [**CLASP.Python**](https://github.com/synesissoftware/CLASP.Python/)
132
- * [**CLASP.Ruby**](https://github.com/synesissoftware/CLASP.Ruby/)
133
- * [**libCLImate** (C/C++)](https://github.com/synesissoftware/libCLImate)
134
- * [**libCLImate.Go** (Go)](https://github.com/synesissoftware/libCLImate.Go)
135
- * [**xqsr3**](https://github.com/synesissoftware.com/libCLImate.Ruby-xml/)
157
+ * [**CLASP**](https://github.com/synesissoftware/CLASP/);
158
+ * [**CLASP.Go**](https://github.com/synesissoftware/CLASP.Go/);
159
+ * [**CLASP.js**](https://github.com/synesissoftware/CLASP.js/);
160
+ * [**CLASP.NET**](https://github.com/synesissoftware/CLASP.NET/);
161
+ * [**CLASP.Python**](https://github.com/synesissoftware/CLASP.Python/);
162
+ * [**CLASP.Ruby**](https://github.com/synesissoftware/CLASP.Ruby/);
163
+ * [**libCLImate** (C/C++)](https://github.com/synesissoftware/libCLImate);
164
+ * [**libCLImate.Go**](https://github.com/synesissoftware/libCLImate.Go);
136
165
 
137
166
 
138
167
  ### License
data/Rakefile ADDED
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Rakefile for libCLImate.Ruby
4
+
5
+ require 'rake/testtask'
6
+
7
+
8
+ Rake::TestTask.new do |tt|
9
+
10
+ tt.libs << 'lib'
11
+ tt.libs << 'test'
12
+ tt.name = 'test'
13
+ tt.test_files = FileList['test/**/tc_*.rb']
14
+ tt.verbose = true
15
+ end
16
+
17
+
18
+ task :default => :test
19
+
20
+
21
+ # ############################## end of file ############################# #
data/SECURITY.md ADDED
@@ -0,0 +1,23 @@
1
+ # libCLImate.Ruby - Security <!-- omit in toc -->
2
+
3
+
4
+ ## Table of Contents <!-- omit in toc -->
5
+
6
+ - [Reporting a vulnerability](#reporting-a-vulnerability)
7
+ - [Supported versions](#supported-versions)
8
+
9
+
10
+ ## Reporting a vulnerability
11
+
12
+ Please report security issues privately via GitHub Security Advisories on https://github.com/synesissoftware/libCLImate.Ruby/security, or by opening an issue if an advisory cannot be filed. Do not attach exploit proofs of concept against third-party systems.
13
+
14
+
15
+ ## Supported versions
16
+
17
+ | Version | Supported |
18
+ | ------- | --------- |
19
+ | 0.17.x | ✅ |
20
+ | < 0.17 | ❌ |
21
+
22
+
23
+ <!-- ########################### end of file ########################### -->
data/TODO.md ADDED
@@ -0,0 +1,24 @@
1
+ # libCLImate.Ruby - TODO <!-- omit in toc -->
2
+
3
+
4
+ ## Functional improvements
5
+
6
+ * [ ] Take `make_abort_message_()` to non-`public` again;
7
+
8
+
9
+ ## Performance improvements
10
+
11
+ * \<none>
12
+
13
+
14
+ ## Packaging improvements
15
+
16
+ * [x] ~~~GitHub Actions~~~;
17
+ * [x] ~~~rename gemspec so the filename stem matches `spec.name` (`libCLImate.gemspec` → **libclimate-ruby.gemspec**)~~~;
18
+ * [x] ~~~obtain a **run_all_unit_tests.sh** (from **misc-dev-scripts**) that skips `tput` when `$TERM` is unset or stdout is not a TTY (CI: `tput: No value for $TERM and no -T specified`)~~~;
19
+ * [x] ~~~**libclimate-ruby.gemspec**: `required_ruby_version` is the range `>= 2.0`; **Gemfile.lock** and **.ruby-version** excluded from `spec.files`; `spec.summary` matches the README tagline; packaged **AUTHORS**, **CHANGES**, **CONTRIBUTING**, **EXAMPLES**, **FAQ**, **INSTALL**, **NEWS**, **SECURITY**, **TODO**~~~;
20
+ * [x] ~~~**Gemfile** sets `lockfile false` when Bundler supports it; stop tracking **Gemfile.lock**; CI uses `bundler-cache: false` because Bundler 4 then writes no lockfile and **ruby/setup-ruby** cache cats **Gemfile.lock**~~~;
21
+ * [x] ~~~after the packaging/boilerplate/CI baseline: bump **VERSION** and align **CHANGES**/**NEWS**~~~;
22
+
23
+
24
+ <!-- ########################### end of file ########################### -->
@@ -1,4 +1,4 @@
1
- # libCLImate.Ruby Example - **flag_and_option_specifications.from_DATA**
1
+ # libCLImate.Ruby - Example - **flag_and_option_specifications.from_DATA**
2
2
 
3
3
  ## Summary
4
4
 
@@ -1,4 +1,4 @@
1
- # libCLImate.Ruby Example - **flag_and_option_specifications**
1
+ # libCLImate.Ruby - Example - **flag_and_option_specifications**
2
2
 
3
3
  ## Summary
4
4
 
@@ -1,4 +1,4 @@
1
- # libCLImate.Ruby Example - **show_usage_and_version**
1
+ # libCLImate.Ruby - Example - **show_usage_and_version**
2
2
 
3
3
  ## Summary
4
4
 
@@ -1,13 +1,13 @@
1
-
1
+ # frozen_string_literal: true
2
2
  # ######################################################################## #
3
3
  # File: lib/libclimate/climate.rb
4
4
  #
5
5
  # Purpose: Definition of the ::LibCLImate::Climate class
6
6
  #
7
7
  # Created: 13th July 2015
8
- # Updated: 30th July 2026
8
+ # Updated: 19th August 2026
9
9
  #
10
- # Home: http://github.com/synesissoftware/libCLImate.Ruby
10
+ # Home: https://github.com/synesissoftware/libCLImate.Ruby
11
11
  #
12
12
  # Author: Matthew Wilson
13
13
  #
@@ -1,12 +1,13 @@
1
+ # frozen_string_literal: true
1
2
  # ######################################################################## #
2
3
  # File: libclimate/libclimate.rb
3
4
  #
4
5
  # Purpose: Main file for libclimate.Ruby library
5
6
  #
6
7
  # Created: 13th July 2015
7
- # Updated: 10th August 2024
8
+ # Updated: 19th August 2026
8
9
  #
9
- # Home: http://github.com/synesissoftware/libCLImate.Ruby
10
+ # Home: https://github.com/synesissoftware/libCLImate.Ruby
10
11
  #
11
12
  # Copyright (c) 2015-2024, Matthew Wilson and Synesis Software
12
13
  # All rights reserved.
@@ -1,12 +1,13 @@
1
+ # frozen_string_literal: true
1
2
  # ######################################################################## #
2
3
  # File: libclimate/version.rb
3
4
  #
4
5
  # Purpose: Version for libclimate.Ruby library
5
6
  #
6
7
  # Created: 13th July 2015
7
- # Updated: 30th July 2026
8
+ # Updated: 28th August 2026
8
9
  #
9
- # Home: http://github.com/synesissoftware/libCLImate.Ruby
10
+ # Home: https://github.com/synesissoftware/libCLImate.Ruby
10
11
  #
11
12
  # Copyright (c) 2019-2026, Matthew Wilson and Synesis Information Systems
12
13
  # Copyright (c) 2015-2019, Matthew Wilson and Synesis Software
@@ -44,7 +45,7 @@
44
45
  module LibCLImate
45
46
 
46
47
  # Current version of the libCLImate.Ruby library
47
- VERSION = '0.17.1'
48
+ VERSION = '0.17.3'
48
49
 
49
50
  private
50
51
  VERSION_PARTS_ = VERSION.split(/[.]/).collect { |n| n.to_i } # :nodoc:
data/lib/libclimate.rb CHANGED
@@ -1,12 +1,13 @@
1
+ # frozen_string_literal: true
1
2
  # ######################################################################## #
2
3
  # File: libclimate.rb
3
4
  #
4
5
  # Purpose: Top-level include for libclimate.Ruby library
5
6
  #
6
7
  # Created: 13th July 2015
7
- # Updated: 14th May 2016
8
+ # Updated: 28th August 2026
8
9
  #
9
- # Home: http://github.com/synesissoftware/libCLImate.Ruby
10
+ # Home: https://github.com/synesissoftware/libCLImate.Ruby
10
11
  #
11
12
  # Copyright (c) 2015-2016, Matthew Wilson and Synesis Software
12
13
  # All rights reserved.
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libclimate-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.1
4
+ version: 0.17.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Wilson
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2026-07-30 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: clasp-ruby
@@ -34,16 +33,22 @@ dependencies:
34
33
  name: xqsr3
35
34
  requirement: !ruby/object:Gem::Requirement
36
35
  requirements:
37
- - - "~>"
36
+ - - ">="
38
37
  - !ruby/object:Gem::Version
39
- version: '0.39'
38
+ version: 0.39.5
39
+ - - "<"
40
+ - !ruby/object:Gem::Version
41
+ version: '1.0'
40
42
  type: :runtime
41
43
  prerelease: false
42
44
  version_requirements: !ruby/object:Gem::Requirement
43
45
  requirements:
44
- - - "~>"
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: 0.39.5
49
+ - - "<"
45
50
  - !ruby/object:Gem::Version
46
- version: '0.39'
51
+ version: '1.0'
47
52
  description: |
48
53
  libCLImate is a portable, lightweight mini-framework that encapsulates the common aspects of Command-Line Interface boilerplate, including:
49
54
 
@@ -53,13 +58,24 @@ description: |
53
58
  - provision of de-facto standard CLI facilities, such as responding to '--help' and '--version';
54
59
 
55
60
  libCLImate.Ruby is the Ruby version.
56
- email: matthew@synesis.com.au
61
+ email:
62
+ - matthew@synesis.com.au
57
63
  executables: []
58
64
  extensions: []
59
65
  extra_rdoc_files: []
60
66
  files:
67
+ - AUTHORS.md
68
+ - CHANGES.md
69
+ - CONTRIBUTING.md
70
+ - EXAMPLES.md
71
+ - FAQ.md
72
+ - INSTALL.md
61
73
  - LICENSE
74
+ - NEWS.md
62
75
  - README.md
76
+ - Rakefile
77
+ - SECURITY.md
78
+ - TODO.md
63
79
  - examples/flag_and_option_specifications.from_DATA.md
64
80
  - examples/flag_and_option_specifications.from_DATA.rb
65
81
  - examples/flag_and_option_specifications.md
@@ -87,8 +103,11 @@ files:
87
103
  homepage: https://github.com/synesissoftware/libCLImate.Ruby
88
104
  licenses:
89
105
  - BSD-3-Clause
90
- metadata: {}
91
- post_install_message:
106
+ metadata:
107
+ bug_tracker_uri: https://github.com/synesissoftware/libCLImate.Ruby/issues
108
+ changelog_uri: https://github.com/synesissoftware/libCLImate.Ruby/blob/master/CHANGES.md
109
+ homepage_uri: https://github.com/synesissoftware/libCLImate.Ruby
110
+ source_code_uri: https://github.com/synesissoftware/libCLImate.Ruby
92
111
  rdoc_options: []
93
112
  require_paths:
94
113
  - lib
@@ -97,17 +116,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
97
116
  - - ">="
98
117
  - !ruby/object:Gem::Version
99
118
  version: '2.0'
100
- - - "<"
101
- - !ruby/object:Gem::Version
102
- version: '4'
103
119
  required_rubygems_version: !ruby/object:Gem::Requirement
104
120
  requirements:
105
121
  - - ">="
106
122
  - !ruby/object:Gem::Version
107
123
  version: '0'
108
124
  requirements: []
109
- rubygems_version: 3.3.7
110
- signing_key:
125
+ rubygems_version: 3.6.9
111
126
  specification_version: 4
112
- summary: libCLImate.Ruby
127
+ summary: libCLImate, for Ruby
113
128
  test_files: []