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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fb31188afaf39cf89e8fdf5dfdc46b75dfe97017
4
- data.tar.gz: 7544b57ab5bd3e29a7e4b9d8ecfbaec360bfe654
3
+ metadata.gz: 4542b4d6cc48edf83bbe51d1d40628635582be4b
4
+ data.tar.gz: e811d691eccf6f72f88e19e440ba51ff0293d933
5
5
  SHA512:
6
- metadata.gz: d2c3f7f297e25205d8c8e227ba62192aa104b1f85df79439d178e0751b617b042f286ee04348fa46e00ba8b04c2a5276bfd536a19277c87fb7c9d2923c2b2de4
7
- data.tar.gz: 85f6fe46c54f8026d96d4c4edb11289fe39bd7e2c0f13481d88a438c3f9fd4fdc8f00f1ddb279ac8c39848535d961280b82062eea5e72c77400d6356b605bc50
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("my program does something wonderful")
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:
@@ -2,7 +2,8 @@
2
2
 
3
3
  require 'miniparse'
4
4
 
5
- parser = Miniparse::Parser.new("my program does something wonderful")
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
 
@@ -1,10 +1,10 @@
1
1
  require "miniparse/app"
2
2
 
3
- # the help introduction can be omitted
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.'
@@ -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(program_description = nil,&block)
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(@program_desc)
41
+ @parser = Miniparse::Parser.new
44
42
  parser.add_option("--debug", nil, negatable: false)
45
43
  @do_configure_parser.call(parser)
46
44
  parser
@@ -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, :program_desc
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(program_description = nil)
23
+ def initialize
23
24
  @commander = Commander.new
24
- @program_desc = program_description
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
@@ -2,7 +2,7 @@ module Miniparse
2
2
 
3
3
 
4
4
 
5
- VERSION = "0.3.1"
5
+ VERSION = "0.3.2"
6
6
 
7
7
 
8
8
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: miniparse
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juanma Rodriguez