miniparse 0.3.1 → 0.3.2
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/examples/ex01_simple.rb +2 -1
- data/examples/ex08_app_simple.rb +3 -2
- data/lib/miniparse/app.rb +2 -4
- data/lib/miniparse/parser.rb +12 -5
- data/lib/miniparse/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4542b4d6cc48edf83bbe51d1d40628635582be4b
|
|
4
|
+
data.tar.gz: e811d691eccf6f72f88e19e440ba51ff0293d933
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 70582bc36e4956f8f61dee11a0401edc83c23ad4df9daf6ec2481fbcedb76a3db0fa2642d4521717606ceec675dfd3a95bc79543288913a8f52a24b141c1fba8
|
|
7
|
+
data.tar.gz: 99f7f80c4a86ed3cb4cbfe347b0e57a9316595cfd5739bbce381b58368d618c27c3c41fff7e5c3487753fbdc7c16701ce4adc3928b649b60e7bb5872a0eefc40
|
data/README.md
CHANGED
|
@@ -15,7 +15,7 @@ Let's try putting the following code in `myprogram.rb`
|
|
|
15
15
|
|
|
16
16
|
require 'miniparse'
|
|
17
17
|
|
|
18
|
-
parser = Miniparse::Parser.new
|
|
18
|
+
parser = Miniparse::Parser.new
|
|
19
19
|
parser.add_option "--debug", "activate debugging"
|
|
20
20
|
parser.parse ARGV
|
|
21
21
|
|
|
@@ -41,7 +41,6 @@ or even get the auto generated help
|
|
|
41
41
|
|
|
42
42
|
$ ruby yourprogram.rb --help
|
|
43
43
|
|
|
44
|
-
my program does something wonderful
|
|
45
44
|
usage: ex01_readme.rb [--help] [--debug] <args>
|
|
46
45
|
|
|
47
46
|
Options:
|
data/examples/ex01_simple.rb
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
require 'miniparse'
|
|
4
4
|
|
|
5
|
-
parser = Miniparse::Parser.new
|
|
5
|
+
parser = Miniparse::Parser.new
|
|
6
|
+
parser.add_program_description "my program help msg introduction\n"
|
|
6
7
|
parser.add_option "--debug", "activate debugging"
|
|
7
8
|
parser.parse ARGV
|
|
8
9
|
|
data/examples/ex08_app_simple.rb
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
require "miniparse/app"
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
App.configure_parser("my program help introduction\n") do |parser|
|
|
3
|
+
App.configure_parser do |parser|
|
|
5
4
|
Miniparse.set_control(
|
|
6
5
|
autoshortable: true,
|
|
7
6
|
)
|
|
7
|
+
parser.add_program_description "my program help introduction\n"
|
|
8
8
|
parser.add_option("--list", "list something")
|
|
9
9
|
parser.parse ARGV
|
|
10
10
|
end
|
|
@@ -16,6 +16,7 @@ App.info App.options # to stdout
|
|
|
16
16
|
App.warn App.options # to stderr
|
|
17
17
|
App.error App.options # to stderr (note: it doesn't exit)
|
|
18
18
|
|
|
19
|
+
# you have direct access to the parser object
|
|
19
20
|
puts "parser object: #{App.parser}"
|
|
20
21
|
|
|
21
22
|
puts 'Done.'
|
data/lib/miniparse/app.rb
CHANGED
|
@@ -8,7 +8,6 @@ module App
|
|
|
8
8
|
|
|
9
9
|
@parser = nil
|
|
10
10
|
@do_configure_parser = lambda { |parser| parser.parse ARGV }
|
|
11
|
-
@program_desc = nil
|
|
12
11
|
|
|
13
12
|
def self.error(msg)
|
|
14
13
|
$stderr.puts "error: #{msg}"
|
|
@@ -30,9 +29,8 @@ module App
|
|
|
30
29
|
parser.options
|
|
31
30
|
end
|
|
32
31
|
|
|
33
|
-
def self.configure_parser(
|
|
32
|
+
def self.configure_parser(&block)
|
|
34
33
|
reset_parser
|
|
35
|
-
@program_desc = program_description
|
|
36
34
|
@do_configure_parser = block
|
|
37
35
|
nil
|
|
38
36
|
end
|
|
@@ -40,7 +38,7 @@ module App
|
|
|
40
38
|
# lazy parser creation
|
|
41
39
|
def self.parser
|
|
42
40
|
return @parser if @parser
|
|
43
|
-
@parser = Miniparse::Parser.new
|
|
41
|
+
@parser = Miniparse::Parser.new
|
|
44
42
|
parser.add_option("--debug", nil, negatable: false)
|
|
45
43
|
@do_configure_parser.call(parser)
|
|
46
44
|
parser
|
data/lib/miniparse/parser.rb
CHANGED
|
@@ -6,7 +6,8 @@ module Miniparse
|
|
|
6
6
|
class Parser
|
|
7
7
|
|
|
8
8
|
# @return after parsing (i.e. specified) rest of arguments
|
|
9
|
-
attr_reader :args
|
|
9
|
+
attr_reader :args
|
|
10
|
+
|
|
10
11
|
# @return parsed (i.e. specified) global options
|
|
11
12
|
def options; global_broker.parsed_values; end
|
|
12
13
|
|
|
@@ -19,9 +20,9 @@ class Parser
|
|
|
19
20
|
def current_command; commander.current_command; end
|
|
20
21
|
|
|
21
22
|
|
|
22
|
-
def initialize
|
|
23
|
+
def initialize
|
|
23
24
|
@commander = Commander.new
|
|
24
|
-
@program_desc =
|
|
25
|
+
@program_desc = nil
|
|
25
26
|
@global_broker = OptionBroker.new do
|
|
26
27
|
print program_desc + "\n" if program_desc
|
|
27
28
|
print help_usage + "\n"
|
|
@@ -29,7 +30,13 @@ class Parser
|
|
|
29
30
|
exit ERR_HELP_REQ
|
|
30
31
|
end
|
|
31
32
|
end
|
|
32
|
-
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def add_program_description(desc)
|
|
36
|
+
@program_desc = desc
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
|
|
33
40
|
# @param spec is the option specification, similar to the option invocation
|
|
34
41
|
# in the command line (ex. "--debug" or "--verbose LEVEL")
|
|
35
42
|
#
|
|
@@ -108,7 +115,7 @@ class Parser
|
|
|
108
115
|
|
|
109
116
|
protected
|
|
110
117
|
|
|
111
|
-
attr_reader :commander, :global_broker
|
|
118
|
+
attr_reader :commander, :global_broker, :program_desc
|
|
112
119
|
|
|
113
120
|
def current_broker
|
|
114
121
|
commander.current_broker || global_broker
|
data/lib/miniparse/version.rb
CHANGED