noms-optconfig 1.5.3 → 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.
- data/bin/bash-showconfig +1 -1
- data/bin/optconfig.sh +2 -2
- data/bin/ruby-showconfig +3 -3
- data/lib/{bashon.rb → noms/bashon.rb} +20 -8
- data/lib/{longopt.rb → noms/longopt.rb} +6 -2
- data/lib/{optconfig.rb → noms/optconfig.rb} +6 -2
- data/lib/{optconfig → noms/optconfig}/version.rb +1 -1
- metadata +7 -7
data/bin/bash-showconfig
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
domain="$1"
|
|
21
21
|
shift 1
|
|
22
22
|
|
|
23
|
-
SCRIPT_VERSION=$(ruby -rubygems -e 'require "optconfig/version"; puts Optconfig::VERSION')
|
|
23
|
+
SCRIPT_VERSION=$(ruby -rubygems -e 'require "noms/optconfig/version"; puts NOMS::Optconfig::VERSION')
|
|
24
24
|
|
|
25
25
|
echo -n "Using "; which optconfig.sh
|
|
26
26
|
. optconfig.sh
|
data/bin/optconfig.sh
CHANGED
|
@@ -33,7 +33,7 @@ opt_new_gen()
|
|
|
33
33
|
optspec="$1"
|
|
34
34
|
shift 1
|
|
35
35
|
ruby -rubygems \
|
|
36
|
-
-e 'require "optconfig"' \
|
|
36
|
+
-e 'require "noms/optconfig"' \
|
|
37
37
|
-e 'require "json"' \
|
|
38
38
|
-e 'require "bashon"' \
|
|
39
39
|
-e '$VERSION = "'$SCRIPT_VERSION'"' \
|
|
@@ -41,7 +41,7 @@ opt_new_gen()
|
|
|
41
41
|
-e 'd = ARGV.shift' \
|
|
42
42
|
-e 'opttext = ARGV.shift' \
|
|
43
43
|
-e 'optspec = JSON.load(opttext)' \
|
|
44
|
-
-e 'opt = Optconfig.new(d, optspec)' \
|
|
44
|
+
-e 'opt = NOMS::Optconfig.new(d, optspec)' \
|
|
45
45
|
-e 'puts opt.map { |k,v| v.to_bashon("opt", d, k) }.join(";") + ";" +' \
|
|
46
46
|
-e ' "opt_#{d}_vrb() { local l=\"$1\"; shift 1; test $l -le $(opt_#{d}_verbose) && echo $*; };" + ' \
|
|
47
47
|
-e ' "opt_#{d}_dbg() { local l=\"$1\"; shift 1; test $l -le $(opt_#{d}_debug) && echo \"DBG(#{d}):\" $*; };" + ' \
|
data/bin/ruby-showconfig
CHANGED
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
#
|
|
16
16
|
|
|
17
|
-
require 'optconfig'
|
|
17
|
+
require 'noms/optconfig'
|
|
18
18
|
|
|
19
|
-
$VERSION = Optconfig::VERSION
|
|
19
|
+
$VERSION = NOMS::Optconfig::VERSION
|
|
20
20
|
|
|
21
21
|
lib_location = $LOADED_FEATURES.find { |f| f =~ /optconfig.rb$/ }
|
|
22
22
|
|
|
@@ -24,7 +24,7 @@ puts "Using #{lib_location}"
|
|
|
24
24
|
|
|
25
25
|
domain = ARGV.shift
|
|
26
26
|
optspec = JSON.load(ARGV.shift)
|
|
27
|
-
opt = Optconfig.new(domain, optspec)
|
|
27
|
+
opt = NOMS::Optconfig.new(domain, optspec)
|
|
28
28
|
puts opt.to_json
|
|
29
29
|
|
|
30
30
|
# = NAME
|
|
@@ -15,7 +15,11 @@
|
|
|
15
15
|
# limitations under the License.
|
|
16
16
|
# */
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
class NOMS
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
module NOMS::BashOn
|
|
19
23
|
def name_key(name)
|
|
20
24
|
name.join('_').gsub(/[^a-zA-Z0-9\_]/, '_')
|
|
21
25
|
end
|
|
@@ -262,7 +266,7 @@ EOF
|
|
|
262
266
|
end
|
|
263
267
|
|
|
264
268
|
class Object
|
|
265
|
-
include BashOn
|
|
269
|
+
include NOMS::BashOn
|
|
266
270
|
def to_bashon(*name)
|
|
267
271
|
if name.empty?
|
|
268
272
|
"#{self.to_s}"
|
|
@@ -273,7 +277,7 @@ class Object
|
|
|
273
277
|
end
|
|
274
278
|
|
|
275
279
|
class TrueClass
|
|
276
|
-
include BashOn
|
|
280
|
+
include NOMS::BashOn
|
|
277
281
|
def to_bashon(*name)
|
|
278
282
|
if name.empty?
|
|
279
283
|
"true"
|
|
@@ -284,7 +288,7 @@ class TrueClass
|
|
|
284
288
|
end
|
|
285
289
|
|
|
286
290
|
class FalseClass
|
|
287
|
-
include BashOn
|
|
291
|
+
include NOMS::BashOn
|
|
288
292
|
def to_bashon(*name)
|
|
289
293
|
if name.empty?
|
|
290
294
|
"false"
|
|
@@ -295,7 +299,7 @@ class FalseClass
|
|
|
295
299
|
end
|
|
296
300
|
|
|
297
301
|
class NilClass
|
|
298
|
-
include BashOn
|
|
302
|
+
include NOMS::BashOn
|
|
299
303
|
def to_bashon(*name)
|
|
300
304
|
if name.empty?
|
|
301
305
|
""
|
|
@@ -306,7 +310,7 @@ class NilClass
|
|
|
306
310
|
end
|
|
307
311
|
|
|
308
312
|
class String
|
|
309
|
-
include BashOn
|
|
313
|
+
include NOMS::BashOn
|
|
310
314
|
|
|
311
315
|
def bq
|
|
312
316
|
self.gsub("'", "'\''")
|
|
@@ -321,9 +325,17 @@ class String
|
|
|
321
325
|
end
|
|
322
326
|
end
|
|
323
327
|
|
|
328
|
+
unless Array.method_defined?(:nitems)
|
|
329
|
+
class Array
|
|
330
|
+
def nitems
|
|
331
|
+
count { |x| !x.nil? }
|
|
332
|
+
end
|
|
333
|
+
end
|
|
334
|
+
end
|
|
335
|
+
|
|
324
336
|
# Enumerable?
|
|
325
337
|
class Array
|
|
326
|
-
include BashOn
|
|
338
|
+
include NOMS::BashOn
|
|
327
339
|
def to_bashon(*name)
|
|
328
340
|
"function #{name_key(name)} { echo " +
|
|
329
341
|
(0 .. (self.nitems-1)).map { |i|
|
|
@@ -335,7 +347,7 @@ class Array
|
|
|
335
347
|
end
|
|
336
348
|
|
|
337
349
|
class Hash
|
|
338
|
-
include BashOn
|
|
350
|
+
include NOMS::BashOn
|
|
339
351
|
def to_bashon(*name)
|
|
340
352
|
"function #{name_key(name)} { case \"$1\" in " +
|
|
341
353
|
self.map { |k, v| "#{k}) echo '#{name_key(name + [k])}';;" }.join(' ') +
|
|
@@ -17,7 +17,11 @@
|
|
|
17
17
|
|
|
18
18
|
require 'getoptlong'
|
|
19
19
|
|
|
20
|
-
class
|
|
20
|
+
class NOMS
|
|
21
|
+
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
class NOMS::Longopt < Hash
|
|
21
25
|
|
|
22
26
|
attr_accessor :optspec
|
|
23
27
|
|
|
@@ -170,7 +174,7 @@ class Longopt < Hash
|
|
|
170
174
|
@@manpage = <<'EOF'
|
|
171
175
|
=head1 NAME
|
|
172
176
|
|
|
173
|
-
Longopt - Convenience class similar to Perl Getopt::Long
|
|
177
|
+
NOMS::Longopt - Convenience class similar to Perl Getopt::Long
|
|
174
178
|
|
|
175
179
|
=head1 SYNOPSIS
|
|
176
180
|
|
|
@@ -31,9 +31,13 @@ require 'rubygems'
|
|
|
31
31
|
require 'longopt'
|
|
32
32
|
require 'json'
|
|
33
33
|
|
|
34
|
-
class
|
|
34
|
+
class NOMS
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
class NOMS::Optconfig < Hash
|
|
39
|
+
|
|
40
|
+
require 'noms/optconfig/version'
|
|
37
41
|
|
|
38
42
|
attr_accessor :domain, :optspec, :config, :default
|
|
39
43
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: noms-optconfig
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.6.0
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -59,8 +59,8 @@ dependencies:
|
|
|
59
59
|
- - ~>
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
61
|
version: '2.11'
|
|
62
|
-
description: Optconfig presents a standardized way to parse configuration files
|
|
63
|
-
command-line arguments
|
|
62
|
+
description: NOMS::Optconfig presents a standardized way to parse configuration files
|
|
63
|
+
and command-line arguments
|
|
64
64
|
email:
|
|
65
65
|
- jbrinkley@evernote.com
|
|
66
66
|
executables:
|
|
@@ -68,10 +68,10 @@ executables:
|
|
|
68
68
|
extensions: []
|
|
69
69
|
extra_rdoc_files: []
|
|
70
70
|
files:
|
|
71
|
-
- lib/optconfig.rb
|
|
72
|
-
- lib/optconfig/version.rb
|
|
73
|
-
- lib/longopt.rb
|
|
74
|
-
- lib/bashon.rb
|
|
71
|
+
- lib/noms/optconfig.rb
|
|
72
|
+
- lib/noms/optconfig/version.rb
|
|
73
|
+
- lib/noms/longopt.rb
|
|
74
|
+
- lib/noms/bashon.rb
|
|
75
75
|
- bin/ruby-showconfig
|
|
76
76
|
- bin/optconfig.sh
|
|
77
77
|
- bin/bash-showconfig
|