optsparser_generator 4.5 → 5.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 +4 -4
- data/README.md +1 -2
- data/lib/optsparser_generator.rb +10 -7
- metadata +22 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5b459803ab550b58e2fd90e23ddf12a14c2820a7e374b1738128cb67905e4950
|
4
|
+
data.tar.gz: e4d57c2b062bfc626c261951c14ce5925888bb0a7bf347722aebb15402fe7aff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 442e6b0f6d08b9ac269d5277a3d8f5971ad9df8cb73d6ea6aea7623b822a0b3ba34ada8dc7010187f09ac8efedf19c26e1f2c639497ec6a1cb774d42ec5846a9
|
7
|
+
data.tar.gz: 724e10de7c1cb9b3b4f1065a2dd2e935686ed03c850bdc96a7ceac09c5d5bbcc9910e15c7be1f108ac5518b06dcbb6a3564e9427b0ae0b0561f817da5c737723
|
data/README.md
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
# OptionParser Generator
|
2
|
-
[](https://travis-ci.org/madblobfish/optionparser-generator)
|
3
|
-
[](https://gemnasium.com/github.com/madblobfish/optionparser-generator)
|
4
2
|
[](http://inch-ci.org/github/madblobfish/optionparser-generator)
|
3
|
+
[](https://github.com/madblobfish/optionparser-generator/actions/workflows/test.yaml)
|
5
4
|
|
6
5
|
Small gem which generates an OptionParser object from an OpenStruct.
|
7
6
|
|
data/lib/optsparser_generator.rb
CHANGED
@@ -27,8 +27,6 @@ module OptionParserGenerator
|
|
27
27
|
# @api private
|
28
28
|
module OpenStructExtension
|
29
29
|
# extracts a special value from the openstruct
|
30
|
-
# @param key [String]
|
31
|
-
# @param string [String]
|
32
30
|
def special_value(key, string)
|
33
31
|
self["#{key}__#{string}"]
|
34
32
|
end
|
@@ -39,7 +37,6 @@ module OptionParserGenerator
|
|
39
37
|
# @todo preprocess data here instead of doing it adhoc
|
40
38
|
# @todo raise more exceptions
|
41
39
|
# @api private
|
42
|
-
# @param ostruct [OpenStruct]
|
43
40
|
def self.handle_arguments(ostruct)
|
44
41
|
unless ostruct.is_a?(OpenStruct)
|
45
42
|
raise WrongArgumentType, 'needs an OpenStruct'
|
@@ -55,8 +52,10 @@ module OptionParserGenerator
|
|
55
52
|
# @todo write documentation :(
|
56
53
|
# @todo split this up
|
57
54
|
# @param ostruct [OpenStruct] Default values with special values
|
58
|
-
# @param
|
59
|
-
# @
|
55
|
+
# @param options [Hash]
|
56
|
+
# @option options [Boolean]
|
57
|
+
# :ignore_collisions ignore bool key collisions see OptionCollision
|
58
|
+
# :generate_no_help when set to true donesn't generates help command
|
60
59
|
def self.[](ostruct, **options)
|
61
60
|
defaults = handle_arguments(ostruct)
|
62
61
|
|
@@ -71,7 +70,7 @@ module OptionParserGenerator
|
|
71
70
|
when FalseClass, TrueClass
|
72
71
|
uneven_no = /\Ano(-no-no)*-(?!no)/ =~ trigger
|
73
72
|
if trigger.start_with?('no-')
|
74
|
-
trigger.gsub!(/\A(no-)
|
73
|
+
trigger.gsub!(/\A(?:no-)/, '') # removes no- prefix(es)
|
75
74
|
check_collisions(trigger, key, defaults) unless options[:ignore_collisions]
|
76
75
|
end
|
77
76
|
arguments.unshift "--[no-]#{trigger}"
|
@@ -126,7 +125,11 @@ module OptionParserGenerator
|
|
126
125
|
raise ArgumentError, 'short is too long, it has to be only one character'
|
127
126
|
end
|
128
127
|
|
129
|
-
|
128
|
+
values = defaults.special_value(key, 'values')
|
129
|
+
|
130
|
+
help = defaults.special_value(key, 'help')
|
131
|
+
help ||= "one of: #{values.join(', ')}" if values
|
132
|
+
help = "#{help} (Default: #{val})"
|
130
133
|
|
131
134
|
if short.empty?
|
132
135
|
[help]
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: optsparser_generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '
|
4
|
+
version: '5.1'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marvin Zerulla
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: rake
|
@@ -16,7 +15,7 @@ dependencies:
|
|
16
15
|
requirements:
|
17
16
|
- - "<"
|
18
17
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
18
|
+
version: '14'
|
20
19
|
- - ">="
|
21
20
|
- !ruby/object:Gem::Version
|
22
21
|
version: 11.2.0
|
@@ -26,7 +25,7 @@ dependencies:
|
|
26
25
|
requirements:
|
27
26
|
- - "<"
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
version: '
|
28
|
+
version: '14'
|
30
29
|
- - ">="
|
31
30
|
- !ruby/object:Gem::Version
|
32
31
|
version: 11.2.0
|
@@ -104,22 +103,33 @@ dependencies:
|
|
104
103
|
- - ">="
|
105
104
|
- !ruby/object:Gem::Version
|
106
105
|
version: '0.8'
|
107
|
-
|
108
|
-
|
106
|
+
- !ruby/object:Gem::Dependency
|
107
|
+
name: ostruct
|
108
|
+
requirement: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - ">="
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
113
|
+
type: :runtime
|
114
|
+
prerelease: false
|
115
|
+
version_requirements: !ruby/object:Gem::Requirement
|
116
|
+
requirements:
|
117
|
+
- - ">="
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '0'
|
109
120
|
executables: []
|
110
121
|
extensions: []
|
111
122
|
extra_rdoc_files:
|
112
|
-
- README.md
|
113
123
|
- LICENSE.md
|
124
|
+
- README.md
|
114
125
|
files:
|
115
126
|
- LICENSE.md
|
116
127
|
- README.md
|
117
128
|
- lib/optsparser_generator.rb
|
118
129
|
homepage: https://github.com/madblobfish/optionparser-generator
|
119
130
|
licenses:
|
120
|
-
- AGPL-
|
131
|
+
- AGPL-3.0-only
|
121
132
|
metadata: {}
|
122
|
-
post_install_message:
|
123
133
|
rdoc_options: []
|
124
134
|
require_paths:
|
125
135
|
- lib
|
@@ -127,15 +137,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
127
137
|
requirements:
|
128
138
|
- - ">="
|
129
139
|
- !ruby/object:Gem::Version
|
130
|
-
version: 2.
|
140
|
+
version: 2.4.0
|
131
141
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
132
142
|
requirements:
|
133
143
|
- - ">="
|
134
144
|
- !ruby/object:Gem::Version
|
135
145
|
version: '0'
|
136
146
|
requirements: []
|
137
|
-
rubygems_version: 3.
|
138
|
-
signing_key:
|
147
|
+
rubygems_version: 3.6.9
|
139
148
|
specification_version: 4
|
140
149
|
summary: Generates OptionParser using an OpenStruct
|
141
150
|
test_files: []
|