getopt 1.5.1 → 1.6.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
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/{CHANGES.rdoc → CHANGES.md} +24 -20
- data/Gemfile +3 -0
- data/{MANIFEST.rdoc → MANIFEST.md} +4 -3
- data/{README.rdoc → README.md} +93 -95
- data/Rakefile +11 -16
- data/getopt.gemspec +4 -6
- data/lib/getopt/version.rb +1 -1
- data/spec/getopt_long_spec.rb +279 -0
- data/spec/getopt_std_spec.rb +122 -0
- metadata +37 -30
- metadata.gz.sig +0 -0
- data/test/test_getopt_long.rb +0 -265
- data/test/test_getopt_std.rb +0 -125
data/getopt.gemspec
CHANGED
@@ -2,20 +2,18 @@ require 'rubygems'
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = 'getopt'
|
5
|
-
spec.version = '1.
|
5
|
+
spec.version = '1.6.0'
|
6
6
|
spec.author = 'Daniel J. Berger'
|
7
7
|
spec.license = 'Apache-2.0'
|
8
8
|
spec.email = 'djberg96@gmail.com'
|
9
9
|
spec.homepage = 'https://github.com/djberg96/getopt'
|
10
10
|
spec.summary = 'Getopt::Std and Getopt::Long option parsers for Ruby'
|
11
|
-
spec.test_files = Dir['
|
11
|
+
spec.test_files = Dir['spec/*_spec.rb']
|
12
12
|
spec.files = Dir['**/*'].reject{ |f| f.include?('git') }
|
13
13
|
spec.cert_chain = Dir['certs/*']
|
14
14
|
|
15
|
-
spec.
|
16
|
-
|
17
|
-
spec.add_development_dependency('test-unit', '>= 2.5.0')
|
18
|
-
spec.required_ruby_version = '>= 2.2.0'
|
15
|
+
spec.add_development_dependency('rake')
|
16
|
+
spec.add_development_dependency('rspec', '~> 3.9')
|
19
17
|
|
20
18
|
spec.metadata = {
|
21
19
|
'homepage_uri' => 'https://github.com/djberg96/getopt',
|
data/lib/getopt/version.rb
CHANGED
@@ -0,0 +1,279 @@
|
|
1
|
+
#####################################################################
|
2
|
+
# getopt_long_spec.rb
|
3
|
+
#
|
4
|
+
# Specs for the getopt-long library. You should run this test
|
5
|
+
# via the 'rake spec:getopt_long' rake task.
|
6
|
+
#####################################################################
|
7
|
+
require 'rspec'
|
8
|
+
require 'getopt/long'
|
9
|
+
|
10
|
+
RSpec.describe Getopt::Long do
|
11
|
+
before do
|
12
|
+
@opts = nil
|
13
|
+
end
|
14
|
+
|
15
|
+
example "version" do
|
16
|
+
expect(Getopt::Long::VERSION).to eq('1.6.0')
|
17
|
+
expect(Getopt::Long::VERSION).to be_frozen
|
18
|
+
end
|
19
|
+
|
20
|
+
example "constants" do
|
21
|
+
expect(Getopt::BOOLEAN).not_to be_nil
|
22
|
+
expect(Getopt::OPTIONAL).not_to be_nil
|
23
|
+
expect(Getopt::REQUIRED).not_to be_nil
|
24
|
+
expect(Getopt::INCREMENT).not_to be_nil
|
25
|
+
end
|
26
|
+
|
27
|
+
example "getopts long basic functionality" do
|
28
|
+
expect(Getopt::Long).to respond_to(:getopts)
|
29
|
+
|
30
|
+
expect{ Getopt::Long.getopts(["--test"],["--help"],["--foo"]) }.not_to raise_error
|
31
|
+
expect{ Getopt::Long.getopts(["--test", "-x"],["--help", "-y"],["--foo", "-z"]) }.not_to raise_error
|
32
|
+
|
33
|
+
expect{
|
34
|
+
Getopt::Long.getopts(
|
35
|
+
["--test", "-x", Getopt::BOOLEAN],
|
36
|
+
["--help", "-y", Getopt::REQUIRED],
|
37
|
+
["--foo", "-z", Getopt::OPTIONAL],
|
38
|
+
["--more", "-m", Getopt::INCREMENT]
|
39
|
+
)
|
40
|
+
}.not_to raise_error
|
41
|
+
|
42
|
+
expect(Getopt::Long.getopts("--test")).to be_kind_of(Hash)
|
43
|
+
end
|
44
|
+
|
45
|
+
example "getopts long using equals sign works as expected" do
|
46
|
+
ARGV.push("--foo=hello","-b","world")
|
47
|
+
|
48
|
+
expect{
|
49
|
+
@opts = Getopt::Long.getopts(
|
50
|
+
["--foo", "-f", Getopt::REQUIRED],
|
51
|
+
["--bar", "-b", Getopt::OPTIONAL]
|
52
|
+
)
|
53
|
+
}.not_to raise_error
|
54
|
+
|
55
|
+
expect(@opts["foo"]).to eq("hello")
|
56
|
+
expect(@opts["f"]).to eq("hello")
|
57
|
+
expect(@opts["bar"]).to eq("world")
|
58
|
+
expect(@opts["b"]).to eq("world")
|
59
|
+
end
|
60
|
+
|
61
|
+
example "getopts long with embedded hyphens works as expected" do
|
62
|
+
ARGV.push('--foo-bar', 'hello', '--test1-test2-test3', 'world')
|
63
|
+
|
64
|
+
expect{
|
65
|
+
@opts = Getopt::Long.getopts(
|
66
|
+
['--foo-bar', '-f', Getopt::REQUIRED],
|
67
|
+
['--test1-test2-test3', '-t', Getopt::REQUIRED]
|
68
|
+
)
|
69
|
+
}.not_to raise_error
|
70
|
+
|
71
|
+
expect(@opts['foo-bar']).to eq('hello')
|
72
|
+
expect(@opts['f']).to eq('hello')
|
73
|
+
expect(@opts['test1-test2-test3']).to eq('world')
|
74
|
+
expect(@opts['t']).to eq('world')
|
75
|
+
end
|
76
|
+
|
77
|
+
example "getopts long embedded hyphens using equals sign works as expected" do
|
78
|
+
ARGV.push('--foo-bar=hello', '--test1-test2-test3=world')
|
79
|
+
|
80
|
+
expect{
|
81
|
+
@opts = Getopt::Long.getopts(
|
82
|
+
['--foo-bar', '-f', Getopt::REQUIRED],
|
83
|
+
['--test1-test2-test3', '-t', Getopt::REQUIRED]
|
84
|
+
)
|
85
|
+
}.not_to raise_error
|
86
|
+
|
87
|
+
expect(@opts['foo-bar']).to eq('hello')
|
88
|
+
expect(@opts['f']).to eq('hello')
|
89
|
+
expect(@opts['test1-test2-test3']).to eq('world')
|
90
|
+
expect(@opts['t']).to eq('world')
|
91
|
+
end
|
92
|
+
|
93
|
+
example "getopts long with short switch squished works as expected" do
|
94
|
+
ARGV.push("-f", "hello", "-bworld")
|
95
|
+
|
96
|
+
expect{
|
97
|
+
@opts = Getopt::Long.getopts(
|
98
|
+
["--foo", "-f", Getopt::REQUIRED],
|
99
|
+
["--bar", "-b", Getopt::OPTIONAL]
|
100
|
+
)
|
101
|
+
}.not_to raise_error
|
102
|
+
|
103
|
+
expect(@opts["f"]).to eq("hello")
|
104
|
+
expect(@opts["b"]).to eq("world")
|
105
|
+
end
|
106
|
+
|
107
|
+
example "getopts long increment type works as expected" do
|
108
|
+
ARGV.push("-m","-m")
|
109
|
+
|
110
|
+
expect{ @opts = Getopt::Long.getopts(["--more", "-m", Getopt::INCREMENT]) }.not_to raise_error
|
111
|
+
|
112
|
+
expect(@opts["more"]).to eq(2)
|
113
|
+
expect(@opts["m"]).to eq(2)
|
114
|
+
end
|
115
|
+
|
116
|
+
example "switches are set as expected" do
|
117
|
+
ARGV.push("--verbose","--test","--foo")
|
118
|
+
expect{ @opts = Getopt::Long.getopts("--verbose --test --foo") }.not_to raise_error
|
119
|
+
expect( @opts.has_key?("verbose")).to eq(true)
|
120
|
+
expect( @opts.has_key?("test")).to eq(true)
|
121
|
+
expect( @opts.has_key?("foo")).to eq(true)
|
122
|
+
end
|
123
|
+
|
124
|
+
example "short switch synonyms work as expected" do
|
125
|
+
ARGV.push("--verbose","--test","--foo")
|
126
|
+
expect{ @opts = Getopt::Long.getopts("--verbose --test --foo") }.not_to raise_error
|
127
|
+
expect(@opts.has_key?("v")).to eq(true)
|
128
|
+
expect(@opts.has_key?("t")).to eq(true)
|
129
|
+
expect(@opts.has_key?("f")).to eq(true)
|
130
|
+
end
|
131
|
+
|
132
|
+
example "short_switch_synonyms_with_explicit_types" do
|
133
|
+
ARGV.push("--verbose", "--test", "hello", "--foo")
|
134
|
+
|
135
|
+
expect{
|
136
|
+
@opts = Getopt::Long.getopts(
|
137
|
+
["--verbose", Getopt::BOOLEAN],
|
138
|
+
["--test", Getopt::REQUIRED],
|
139
|
+
["--foo", Getopt::BOOLEAN]
|
140
|
+
)
|
141
|
+
}.not_to raise_error
|
142
|
+
|
143
|
+
expect(@opts.has_key?("v")).to be(true)
|
144
|
+
expect(@opts.has_key?("t")).to be(true)
|
145
|
+
expect(@opts.has_key?("f")).to be(true)
|
146
|
+
end
|
147
|
+
|
148
|
+
example "switches with required arguments" do
|
149
|
+
ARGV.push("--foo","1","--bar","hello")
|
150
|
+
|
151
|
+
expect{
|
152
|
+
@opts = Getopt::Long.getopts(
|
153
|
+
["--foo", "-f", Getopt::REQUIRED],
|
154
|
+
["--bar", "-b", Getopt::REQUIRED]
|
155
|
+
)
|
156
|
+
}.not_to raise_error
|
157
|
+
|
158
|
+
expect(@opts).to eq({"foo"=>"1", "bar"=>"hello", "f"=>"1", "b"=>"hello"})
|
159
|
+
end
|
160
|
+
|
161
|
+
example "compressed switches work as expected" do
|
162
|
+
ARGV.push("-fb")
|
163
|
+
|
164
|
+
expect{
|
165
|
+
@opts = Getopt::Long.getopts(
|
166
|
+
["--foo", "-f", Getopt::BOOLEAN],
|
167
|
+
["--bar", "-b", Getopt::BOOLEAN]
|
168
|
+
)
|
169
|
+
}.not_to raise_error
|
170
|
+
|
171
|
+
expect(@opts).to eq({"foo"=>true, "f"=>true, "b"=>true, "bar"=>true})
|
172
|
+
end
|
173
|
+
|
174
|
+
example "compress switches with required argument works as expected" do
|
175
|
+
ARGV.push("-xf", "foo.txt")
|
176
|
+
|
177
|
+
expect{
|
178
|
+
@opts = Getopt::Long.getopts(
|
179
|
+
["--expand", "-x", Getopt::BOOLEAN],
|
180
|
+
["--file", "-f", Getopt::REQUIRED]
|
181
|
+
)
|
182
|
+
}.not_to raise_error
|
183
|
+
|
184
|
+
expect(@opts).to eq({"x"=>true, "expand"=>true, "f"=>"foo.txt", "file"=>"foo.txt"})
|
185
|
+
end
|
186
|
+
|
187
|
+
example "compress switches with argument that is compressed works as expected" do
|
188
|
+
ARGV.push("-xffoo.txt")
|
189
|
+
|
190
|
+
expect{
|
191
|
+
@opts = Getopt::Long.getopts(
|
192
|
+
["--expand", "-x", Getopt::BOOLEAN],
|
193
|
+
["--file", "-f", Getopt::REQUIRED]
|
194
|
+
)
|
195
|
+
}.not_to raise_error
|
196
|
+
|
197
|
+
expect(@opts).to eq({"x"=>true, "expand"=>true, "f"=>"foo.txt", "file"=>"foo.txt"})
|
198
|
+
end
|
199
|
+
|
200
|
+
example "compress switches with optional argument not defined works as expected" do
|
201
|
+
ARGV.push("-xf")
|
202
|
+
|
203
|
+
expect{
|
204
|
+
@opts = Getopt::Long.getopts(
|
205
|
+
["--expand", "-x", Getopt::BOOLEAN],
|
206
|
+
["--file", "-f", Getopt::OPTIONAL]
|
207
|
+
)
|
208
|
+
}.not_to raise_error
|
209
|
+
|
210
|
+
expect(@opts).to eq({"x"=>true, "expand"=>true, "f"=>nil, "file"=>nil})
|
211
|
+
end
|
212
|
+
|
213
|
+
example "compress switches with optional argument works as expected" do
|
214
|
+
ARGV.push("-xf", "boo.txt")
|
215
|
+
|
216
|
+
expect{
|
217
|
+
@opts = Getopt::Long.getopts(
|
218
|
+
["--expand", "-x", Getopt::BOOLEAN],
|
219
|
+
["--file", "-f", Getopt::OPTIONAL]
|
220
|
+
)
|
221
|
+
}.not_to raise_error
|
222
|
+
|
223
|
+
expect(@opts).to eq({"x"=>true, "expand"=>true, "f"=>"boo.txt", "file"=>"boo.txt"})
|
224
|
+
end
|
225
|
+
|
226
|
+
example "compress switches with compressed optional argument works as expected" do
|
227
|
+
ARGV.push("-xfboo.txt")
|
228
|
+
|
229
|
+
expect{
|
230
|
+
@opts = Getopt::Long.getopts(
|
231
|
+
["--expand", "-x", Getopt::BOOLEAN],
|
232
|
+
["--file", "-f", Getopt::OPTIONAL]
|
233
|
+
)
|
234
|
+
}.not_to raise_error
|
235
|
+
|
236
|
+
expect(@opts).to eq({"x"=>true, "expand"=>true, "f"=>"boo.txt", "file"=>"boo.txt"})
|
237
|
+
end
|
238
|
+
|
239
|
+
example "compressed_short_and_long_mixed" do
|
240
|
+
ARGV.push("-xb", "--file", "boo.txt", "-v")
|
241
|
+
|
242
|
+
expect{
|
243
|
+
@opts = Getopt::Long.getopts(
|
244
|
+
["--expand", "-x", Getopt::BOOLEAN],
|
245
|
+
["--verbose", "-v", Getopt::BOOLEAN],
|
246
|
+
["--file", "-f", Getopt::REQUIRED],
|
247
|
+
["--bar", "-b", Getopt::OPTIONAL]
|
248
|
+
)
|
249
|
+
}.not_to raise_error
|
250
|
+
|
251
|
+
expect(@opts).to eq({
|
252
|
+
"x"=>true, "expand"=>true,
|
253
|
+
"v"=>true, "verbose"=>true,
|
254
|
+
"f"=>"boo.txt", "file"=>"boo.txt",
|
255
|
+
"b"=>nil, "bar"=>nil
|
256
|
+
})
|
257
|
+
end
|
258
|
+
|
259
|
+
example "multiple similar long switches with no short switches works as expected" do
|
260
|
+
ARGV.push('--to','1','--too','2','--tooo','3')
|
261
|
+
|
262
|
+
expect{
|
263
|
+
@opts = Getopt::Long.getopts(
|
264
|
+
["--to", Getopt::REQUIRED],
|
265
|
+
["--too", Getopt::REQUIRED],
|
266
|
+
["--tooo", Getopt::REQUIRED]
|
267
|
+
)
|
268
|
+
}.not_to raise_error
|
269
|
+
|
270
|
+
expect(@opts['to']).to eq('1')
|
271
|
+
expect(@opts['too']).to eq('2')
|
272
|
+
expect(@opts['tooo']).to eq('3')
|
273
|
+
end
|
274
|
+
|
275
|
+
after do
|
276
|
+
@opts = nil
|
277
|
+
ARGV.clear
|
278
|
+
end
|
279
|
+
end
|
@@ -0,0 +1,122 @@
|
|
1
|
+
###################################################################
|
2
|
+
# test_getopt_std.rb
|
3
|
+
#
|
4
|
+
# Test suite for the Getopt::Std class. You should run this test
|
5
|
+
# via the 'rake test' task.
|
6
|
+
###################################################################
|
7
|
+
require 'rspec'
|
8
|
+
require 'getopt/std'
|
9
|
+
include Getopt
|
10
|
+
|
11
|
+
RSpec.describe Getopt::Std do
|
12
|
+
example "version" do
|
13
|
+
expect(Std::VERSION).to eq('1.6.0')
|
14
|
+
expect(Std::VERSION).to be_frozen
|
15
|
+
end
|
16
|
+
|
17
|
+
example "getopts basic functionality" do
|
18
|
+
expect(Std).to respond_to(:getopts)
|
19
|
+
expect{ Std.getopts("ID") }.not_to raise_error
|
20
|
+
expect(Std.getopts("ID")).to be_kind_of(Hash)
|
21
|
+
end
|
22
|
+
|
23
|
+
example "getopts with separated switches" do
|
24
|
+
ARGV.push("-I", "-D")
|
25
|
+
expect(Std.getopts("ID")).to eq({"I"=>true, "D"=>true})
|
26
|
+
end
|
27
|
+
|
28
|
+
# Inspired by RF bug #23477
|
29
|
+
example "getopts with arguments that match switch are ok" do
|
30
|
+
ARGV.push("-d", "d")
|
31
|
+
expect(Std.getopts("d:")).to eq({"d" => "d"})
|
32
|
+
|
33
|
+
ARGV.push("-d", "ad")
|
34
|
+
expect(Std.getopts("d:")).to eq({"d" => "ad"})
|
35
|
+
|
36
|
+
ARGV.push("-a", "ad")
|
37
|
+
expect(Std.getopts("d:a:")).to eq({"a" => "ad"})
|
38
|
+
|
39
|
+
ARGV.push("-a", "da")
|
40
|
+
expect(Std.getopts("d:a:")).to eq({"a" => "da"})
|
41
|
+
|
42
|
+
ARGV.push("-a", "d")
|
43
|
+
expect(Std.getopts("d:a:")).to eq({"a" => "d"})
|
44
|
+
|
45
|
+
ARGV.push("-a", "dad")
|
46
|
+
expect(Std.getopts("d:a:")).to eq({"a" => "dad"})
|
47
|
+
|
48
|
+
ARGV.push("-d", "d", "-a", "a")
|
49
|
+
expect(Std.getopts("d:a:")).to eq({"d" => "d", "a" => "a"})
|
50
|
+
end
|
51
|
+
|
52
|
+
example "getopts with joined switches" do
|
53
|
+
ARGV.push("-ID")
|
54
|
+
expect(Std.getopts("ID")).to eq({"I"=>true, "D"=>true})
|
55
|
+
end
|
56
|
+
|
57
|
+
example "getopts with separated switches and mandatory argument" do
|
58
|
+
ARGV.push("-o", "hello", "-I", "-D")
|
59
|
+
expect(Std.getopts("o:ID")).to eq({"o"=>"hello", "I"=>true, "D"=>true})
|
60
|
+
end
|
61
|
+
|
62
|
+
example "getopts with joined switches and mandatory argument" do
|
63
|
+
ARGV.push("-IDo", "hello")
|
64
|
+
expect( Std.getopts("o:ID")).to eq({"o"=>"hello", "I"=>true, "D"=>true})
|
65
|
+
end
|
66
|
+
|
67
|
+
example "getopts with no arguments" do
|
68
|
+
expect{ Std.getopts("ID") }.not_to raise_error
|
69
|
+
expect(Std.getopts("ID")).to eq({})
|
70
|
+
expect(Std.getopts("ID")["I"]).to be_nil
|
71
|
+
expect(Std.getopts("ID")["D"]).to be_nil
|
72
|
+
end
|
73
|
+
|
74
|
+
# If a switch that accepts an argument appears more than once, the values
|
75
|
+
# are rolled into an array.
|
76
|
+
example "getopts with switch repeated" do
|
77
|
+
ARGV.push("-I", "-I", "-o", "hello", "-o", "world")
|
78
|
+
expect( Std.getopts("o:ID")).to eq({"o" => ["hello","world"], "I"=>true})
|
79
|
+
end
|
80
|
+
|
81
|
+
# EXPECTED ERRORS
|
82
|
+
|
83
|
+
example "getopts raises expected errors when passing a switch to another switch" do
|
84
|
+
ARGV.push("-d", "-d")
|
85
|
+
expect{ Std.getopts("d:a:") }.to raise_error(Getopt::Std::Error)
|
86
|
+
|
87
|
+
ARGV.push("-d", "-a")
|
88
|
+
expect{ Std.getopts("d:a:") }.to raise_error(Getopt::Std::Error)
|
89
|
+
|
90
|
+
ARGV.push("-a", "-d")
|
91
|
+
expect{ Std.getopts("d:a:") }.to raise_error(Getopt::Std::Error)
|
92
|
+
|
93
|
+
ARGV.push("-d", "-d")
|
94
|
+
expect{ Std.getopts("d:a:") }.to raise_error(Getopt::Std::Error, "cannot use switch '-d' as argument to another switch")
|
95
|
+
end
|
96
|
+
|
97
|
+
example "getopts raises expected errors if argument is missing" do
|
98
|
+
ARGV.push("-ID")
|
99
|
+
expect{ Std.getopts("I:D") }.to raise_error(Std::Error)
|
100
|
+
|
101
|
+
ARGV.push("-ID")
|
102
|
+
expect{ Std.getopts("ID:") }.to raise_error(Std::Error)
|
103
|
+
end
|
104
|
+
|
105
|
+
example "getopts raises expected errors if there are extra arguments" do
|
106
|
+
ARGV.push("-I", "-D", "-X")
|
107
|
+
expect{ Std.getopts("ID") }.to raise_error(Std::Error)
|
108
|
+
|
109
|
+
ARGV.push("-IDX")
|
110
|
+
expect{ Std.getopts("ID") }.to raise_error(Std::Error, "invalid option 'X'")
|
111
|
+
end
|
112
|
+
|
113
|
+
example "getopts raises expected errors with invalid or no arguments" do
|
114
|
+
expect{ Std.getopts }.to raise_error(ArgumentError)
|
115
|
+
expect{ Std.getopts(0) }.to raise_error(NoMethodError)
|
116
|
+
expect{ Std.getopts(nil) }.to raise_error(NoMethodError)
|
117
|
+
end
|
118
|
+
|
119
|
+
after do
|
120
|
+
ARGV.clear
|
121
|
+
end
|
122
|
+
end
|
metadata
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: getopt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel J. Berger
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain:
|
11
11
|
- |
|
@@ -35,22 +35,36 @@ cert_chain:
|
|
35
35
|
ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
|
36
36
|
WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
38
|
+
date: 2021-03-02 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
|
-
name:
|
41
|
+
name: rake
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
46
|
+
version: '0'
|
47
47
|
type: :development
|
48
48
|
prerelease: false
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - ">="
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
53
|
+
version: '0'
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: rspec
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '3.9'
|
61
|
+
type: :development
|
62
|
+
prerelease: false
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '3.9'
|
54
68
|
description: |2
|
55
69
|
The getopt library provides two different command line option parsers.
|
56
70
|
They are meant as easier and more convenient replacements for the
|
@@ -59,33 +73,26 @@ description: |2
|
|
59
73
|
email: djberg96@gmail.com
|
60
74
|
executables: []
|
61
75
|
extensions: []
|
62
|
-
extra_rdoc_files:
|
63
|
-
- README.rdoc
|
64
|
-
- CHANGES.rdoc
|
65
|
-
- MANIFEST.rdoc
|
76
|
+
extra_rdoc_files: []
|
66
77
|
files:
|
78
|
+
- CHANGES.md
|
79
|
+
- Gemfile
|
67
80
|
- LICENSE
|
68
|
-
-
|
69
|
-
-
|
70
|
-
- test/test_getopt_std.rb
|
81
|
+
- MANIFEST.md
|
82
|
+
- README.md
|
71
83
|
- Rakefile
|
72
|
-
- certs
|
73
84
|
- certs/djberg96_pub.pem
|
74
|
-
- examples
|
75
|
-
- examples/example_std.rb
|
76
85
|
- examples/example_long.rb
|
77
|
-
-
|
86
|
+
- examples/example_std.rb
|
87
|
+
- getopt.gemspec
|
88
|
+
- lib/getopt-long.rb
|
89
|
+
- lib/getopt-std.rb
|
78
90
|
- lib/getopt.rb
|
79
|
-
- lib/getopt
|
80
91
|
- lib/getopt/long.rb
|
81
92
|
- lib/getopt/std.rb
|
82
93
|
- lib/getopt/version.rb
|
83
|
-
-
|
84
|
-
-
|
85
|
-
- CHANGES.rdoc
|
86
|
-
- MANIFEST.rdoc
|
87
|
-
- getopt.gemspec
|
88
|
-
- README.rdoc
|
94
|
+
- spec/getopt_long_spec.rb
|
95
|
+
- spec/getopt_std_spec.rb
|
89
96
|
homepage: https://github.com/djberg96/getopt
|
90
97
|
licenses:
|
91
98
|
- Apache-2.0
|
@@ -96,7 +103,7 @@ metadata:
|
|
96
103
|
documentation_uri: https://github.com/djberg96/getopt/wiki
|
97
104
|
source_code_uri: https://github.com/djberg96/getopt
|
98
105
|
wiki_uri: https://github.com/djberg96/getopt/wiki
|
99
|
-
post_install_message:
|
106
|
+
post_install_message:
|
100
107
|
rdoc_options: []
|
101
108
|
require_paths:
|
102
109
|
- lib
|
@@ -104,17 +111,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
104
111
|
requirements:
|
105
112
|
- - ">="
|
106
113
|
- !ruby/object:Gem::Version
|
107
|
-
version:
|
114
|
+
version: '0'
|
108
115
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
109
116
|
requirements:
|
110
117
|
- - ">="
|
111
118
|
- !ruby/object:Gem::Version
|
112
119
|
version: '0'
|
113
120
|
requirements: []
|
114
|
-
rubygems_version: 3.0.
|
115
|
-
signing_key:
|
121
|
+
rubygems_version: 3.0.3
|
122
|
+
signing_key:
|
116
123
|
specification_version: 4
|
117
124
|
summary: Getopt::Std and Getopt::Long option parsers for Ruby
|
118
125
|
test_files:
|
119
|
-
-
|
120
|
-
-
|
126
|
+
- spec/getopt_std_spec.rb
|
127
|
+
- spec/getopt_long_spec.rb
|