opt-simple 0.9.6 → 0.9.7

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -40,7 +40,7 @@ It is recommended to install OptSimple using RubyGems:
40
40
  require 'opt_simple'
41
41
 
42
42
  defaults = {
43
- :n => 42,
43
+ :num_results => 42,
44
44
  :range => [5,10]
45
45
  }
46
46
 
@@ -83,11 +83,13 @@ It is recommended to install OptSimple using RubyGems:
83
83
  # will be integers if set on the CL
84
84
  puts "Cowbell: #{opts['cowbell']}"
85
85
 
86
- # You can use hash syntax to access the options as strings or symbols
87
- puts "N: #{opts[:n]}"
86
+ # Dashes will be replaced by underscores so that method syntax works nicely
87
+ puts "N: #{opts.num_values}"
88
+ puts "N: #{opts['num-values']}"
88
89
 
89
90
  # You can check to see if Options were set
90
- puts "Pattern: #{opts.p}" if opts.include?(:p)
91
+ # and you can use hash syntax to access the options as strings or symbols
92
+ puts "Pattern: #{opts[:p]}" if opts.include?(:p)
91
93
 
92
94
  # Here, range was set to an Array.
93
95
  puts "Range: #{opts.range.first} #{opts.range.last}"
@@ -124,7 +126,7 @@ Which prints out an automatic usage statement:
124
126
  puts "Options"
125
127
  puts options
126
128
 
127
- === An example that provides error checking on ARGV, using all default behavior and how to specify a 'metavar'
129
+ === An example using all default behavior
128
130
 
129
131
  require 'opt_simple'
130
132
 
@@ -138,7 +140,7 @@ Which prints out an automatic usage statement:
138
140
  puts "Options"
139
141
  puts options
140
142
 
141
- === An example that shows how to use 'set_opt', set the banner string, and add a summary.
143
+ === An example that shows how to set the banner string, and add a summary.
142
144
 
143
145
  require 'opt_simple'
144
146
 
@@ -159,29 +161,6 @@ Which prints out an automatic usage statement:
159
161
  puts "Options"
160
162
  puts options
161
163
 
162
- === An example that shows how to use 'accumulate_opt' on an option to create a list, and on a flag to increment a counter
163
-
164
- require 'opt_simple'
165
-
166
- verbosity = 0
167
-
168
- options = OptSimple.new.parse_opts! do
169
- option %w[-i --infile], "Infile, multiple allowed", "FILE" do | arg |
170
- accumulate_opt arg
171
- end
172
-
173
- flag %w[-v --verbose],"Verbosity. the more you set, the more we give" do
174
- verbosity += 1
175
- end
176
-
177
- flag %w[-m --more-cow-bell], "I've got a fever" do
178
- accumulate_opt
179
- end
180
- end
181
-
182
- puts "Options"
183
- puts options
184
-
185
164
  === An example that shows that you can easily set your defaults in normal Ruby variables and provide your own help.
186
165
 
187
166
  require 'opt_simple'
data/lib/opt_simple.rb CHANGED
@@ -19,7 +19,7 @@ The number of arguments are determined by the 'arity' of the block.
19
19
 
20
20
  The order in which the parameters are defined dictate their order on the command line.
21
21
 
22
- User defined help banners, summaries or the whole usage statement can be defined.
22
+ User defined help banners, summaries or the whole usage statement can be set manually.
23
23
  =end
24
24
  class OptSimple
25
25
  attr_accessor :args
@@ -290,7 +290,7 @@ class OptSimple
290
290
 
291
291
  parm.names.each do | n |
292
292
  if @param_names.has_key?(n)
293
- raise OptSimple::Error.new "Command line switch already in use!"
293
+ raise OptSimple::Error.new "Command line switch already in use: #{n}"
294
294
  else
295
295
  @param_names[n] = true
296
296
  end
@@ -328,7 +328,11 @@ class OptSimple
328
328
  names = []
329
329
  switches.each do |s|
330
330
  st = s.sub(/^-+/,'')
331
- names << st << st.to_sym
331
+ names << st << st.to_sym
332
+ if st.include?('-')
333
+ st2 = st.gsub('-','_')
334
+ names << st2 << st2.to_sym
335
+ end
332
336
  end
333
337
  names
334
338
  end
data/test/test_help.rb CHANGED
@@ -6,7 +6,7 @@ class TestHelpStatement < Test::Unit::TestCase
6
6
 
7
7
  must "add default info to help string" do
8
8
  defaults = {
9
- 'a' => 1000
9
+ :a => 1000
10
10
  }
11
11
  os = OptSimple.new(defaults)
12
12
  os.add_parameter(OptSimple::Option.new '-a' )
data/test/test_usage.rb CHANGED
@@ -115,5 +115,15 @@ class TestHelpStatement < Test::Unit::TestCase
115
115
  assert_equal o.v, false
116
116
  end
117
117
 
118
+ must "add undersore versions to all switch names that have a dash" do
119
+ os = OptSimple.new({},%w[--some-stuff foo])
120
+ o = os.parse_opts! do
121
+ option %w[-s --some-stuff]
122
+ end
123
+
124
+ assert o.include? 'some_stuff'
125
+ assert_equal o[:some_stuff],"foo"
126
+ end
127
+
118
128
  end
119
129
 
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: opt-simple
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.9.6
5
+ version: 0.9.7
6
6
  platform: ruby
7
7
  authors:
8
8
  - Ethan Stryker
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-03-26 00:00:00 +00:00
13
+ date: 2011-04-03 00:00:00 +01:00
14
14
  default_executable:
15
15
  dependencies: []
16
16