choice 0.1.7 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NzIxY2UxYzVhYWQ3M2MyMmJjMTU4OTRkNTA5MmM5N2I2YWI3OTk0YQ==
5
- data.tar.gz: !binary |-
6
- M2I0MjZhZjM5MTY5YjFlZTJlNmY4NTQxN2U1MzQ1YmJiNmZjNDA2NA==
2
+ SHA1:
3
+ metadata.gz: 15f0c2eb270e5a078a4073be95b3bee511cddfbe
4
+ data.tar.gz: e31ced92d8f6b1cff0ae20b9edd151852d408412
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- YzY2YzlmOGNlNTBkOTFjOWEzMzY3Y2QwN2Q2MjVmMTliNWE5ZDY5ZTdjYWZj
10
- YjcwMDJkMjlhZDA5NzNiYjBkYTgwMGI5MWVmYWYyNTM4Nzg5OWNhNmQyNTlk
11
- NzVhZDRiZGQ3NDQxY2U1YjNhYzllN2I0MWUxMzdkMjQ5YjM2YWU=
12
- data.tar.gz: !binary |-
13
- NWFlMzYyMGM0OWUzMWZjMTc1NTU1MjMyZGQ1ZDQxM2NlOGQ4OWE2MzViNzhh
14
- ZWNjYjY1NWViZWY3MzVjNGE0NGUyZjljN2U5YjI2NmRkYjUzMTE1MjFhNjYy
15
- MWUwMzhhNzI0YTgwNDM0ODYxODUzOGUyMjRlYzc1M2VmMTgwYzI=
6
+ metadata.gz: 16a9248efc0788034bda81cfccaee80b155b5cae18e31ace243e8f0488c7a8170c232c95f961c330aa9ee40215717e149bcfc5fbcf79e8520002d81e7328332d
7
+ data.tar.gz: 60f97f4404904fedd8b254cf9a148e7fe401b4d9729c6a40cd12748d3eef5b410443c696d509afe3e1929b3e968bbc475379c00872050ec7e84ae7ba7d918078
@@ -0,0 +1 @@
1
+ Gemfile.lock
@@ -2,6 +2,6 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.3
4
4
  - 2.0.0
5
- - 2.1.0
5
+ - 2.1
6
6
  - rbx-2
7
7
  - jruby
data/CHANGELOG CHANGED
@@ -1,3 +1,5 @@
1
+ 0.2.0:
2
+ - Removed some version specific hacks. Including 1.8.6 support.
1
3
  0.1.7:
2
4
  - Fix bug related to NilClass#to_h
3
5
  - Simplified packaging process: Now possible to package with an up-to-date system.
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
@@ -1,12 +1,14 @@
1
+ {<img src="https://travis-ci.org/defunkt/choice.svg?branch=master" />}[https://travis-ci.org/defunkt/choice]
2
+
1
3
  = Welcome to Choice
2
4
 
3
- Choice is a small library for defining and parsing command line options. It
4
- works awesomely with Highline[https://github.com/JEG2/highline] or other command
5
+ Choice is a small library for defining and parsing command line options. It
6
+ works awesomely with Highline[https://github.com/JEG2/highline] or other command
5
7
  line interface libraries.
6
8
 
7
- Choice was written by Chris Wanstrath as an exercise in test driving development
8
- of a DSL. This project is still an infant: bugs are expected and tattling on them
9
- is appreciated.
9
+ Choice was written by Chris Wanstrath as an exercise in test driving development
10
+ of a DSL. This project is still an infant: bugs are expected and tattling on them
11
+ is appreciated.
10
12
 
11
13
  Installing is easy, with RubyGems. Give it a shot:
12
14
  $ gem install choice
@@ -14,7 +16,7 @@ Installing is easy, with RubyGems. Give it a shot:
14
16
  E-mail inquiries can be directed to mailto:chris[at]ozmm[dot]org.
15
17
 
16
18
  Of course, Choice is licensed under the MIT License, which you can find included
17
- in the LICENSE file or by surfing your World Wide Web browser of choice towards
19
+ in the LICENSE file or by surfing your World Wide Web browser of choice towards
18
20
  http://www.opensource.org/licenses/mit-license.php.
19
21
 
20
22
  == Using Choice
@@ -31,7 +33,7 @@ programs utilizing the library have been placed. Here's a snippet:
31
33
  Choice.options do
32
34
  header ''
33
35
  header 'Specific options:'
34
-
36
+
35
37
  option :host do
36
38
  short '-h'
37
39
  long '--host=HOST'
@@ -46,7 +48,7 @@ programs utilizing the library have been placed. Here's a snippet:
46
48
  cast Integer
47
49
  default 21
48
50
  end
49
-
51
+
50
52
  separator ''
51
53
  separator 'Common options: '
52
54
 
@@ -61,42 +63,42 @@ programs utilizing the library have been placed. Here's a snippet:
61
63
  desc 'Show version'
62
64
  action do
63
65
  puts "ftpd.rb FTP server v#{PROGRAM_VERSION}"
64
- exit
66
+ exit
65
67
  end
66
68
  end
67
69
  end
68
70
 
69
71
  puts 'port: ' + Choice[:port]
70
72
 
71
- Notice the last line. For free, you will be given a <tt>Choice.choices</tt>
72
- hash which contain, at runtime, the options found and their values.
73
+ Notice the last line. For free, you will be given a <tt>Choice.choices</tt>
74
+ hash which contain, at runtime, the options found and their values.
73
75
 
74
76
  <tt>Choice[:key]</tt> is a shortcut for <tt>Choice.choices[:key]</tt>.
75
77
 
76
- Because we gave option <tt>:port</tt> a default of 21,
77
- <tt>Choice[:port]</tt> should be 21 if we run ftpd.rb with no options.
78
+ Because we gave option <tt>:port</tt> a default of 21,
79
+ <tt>Choice[:port]</tt> should be 21 if we run ftpd.rb with no options.
78
80
  Let's see.
79
81
 
80
82
  $ ruby ftpd.rb
81
83
  port: 21
82
-
84
+
83
85
  Cool. On our system, port 21 is reserved. Let's use another port.
84
86
 
85
87
  $ ruby ftpd.rb -p 2100
86
88
  port: 2100
87
-
89
+
88
90
  Alright. And, of course, there is the hard way of doing things.
89
91
 
90
92
  $ ruby ftpd.rb --port=2100
91
93
  port: 2100
92
94
 
93
- That <tt>:version</tt> option looks pretty interesting, huh? I wonder what it
95
+ That <tt>:version</tt> option looks pretty interesting, huh? I wonder what it
94
96
  does...
95
-
97
+
96
98
  $ ruby ftpd.rb -v
97
99
  ftpd.rb FTP server v4
98
100
 
99
- That's not all, though. We also get a <tt>--help</tt> option for free.
101
+ That's not all, though. We also get a <tt>--help</tt> option for free.
100
102
 
101
103
  $ ruby ftpd.rb --help
102
104
  Usage: ftpd.rb [-hpv]
@@ -105,16 +107,16 @@ That's not all, though. We also get a <tt>--help</tt> option for free.
105
107
  -h, --host=HOST The hostname or ip of the host to bind to (default 127.0.0.1)
106
108
  -p, --port=PORT The port to listen on (default 21)
107
109
 
108
- Common options:
110
+ Common options:
109
111
  --help Show this message
110
112
  -v, --version Show version
111
-
112
-
113
+
114
+
113
115
  == The Choice.choices hash
114
116
 
115
- For better or worse, the <tt>Choice.choices</tt> hash is a bit lazy. It does
116
- not care how you access it. Using the above example, assume we have a
117
- <tt>:port</tt> option and we replace the last line of our program with the
117
+ For better or worse, the <tt>Choice.choices</tt> hash is a bit lazy. It does
118
+ not care how you access it. Using the above example, assume we have a
119
+ <tt>:port</tt> option and we replace the last line of our program with the
118
120
  following three lines:
119
121
 
120
122
  puts 'port: ' + Choice.choices[:port]
@@ -130,8 +132,8 @@ Now, run it.
130
132
 
131
133
  Lazy, huh?
132
134
 
133
- Keep in mind that your option's key in the <tt>Choice.choices</tt> hash is
134
- defined by the first parameter passed to option statement. This is perfectly
135
+ Keep in mind that your option's key in the <tt>Choice.choices</tt> hash is
136
+ defined by the first parameter passed to option statement. This is perfectly
135
137
  legit, albeit somewhat confusing:
136
138
 
137
139
  option :name do
@@ -140,16 +142,16 @@ legit, albeit somewhat confusing:
140
142
  desc "Your handle."
141
143
  end
142
144
 
143
- You can access this option by using <tt>Choice.choices[:name]</tt>, not
145
+ You can access this option by using <tt>Choice.choices[:name]</tt>, not
144
146
  <tt>:handle</tt>.
145
147
 
146
148
  == Option options
147
149
 
148
150
  Obviously, Choice revolves around the <tt>option</tt> statement, which receives
149
- a block. Here are all the, er, options +option+ accepts. None of them are
151
+ a block. Here are all the, er, options +option+ accepts. None of them are
150
152
  required but +short+ or +long+ must be present for Choice to know what to do.
151
153
 
152
- Options must be defined in the context of a <tt>Choice.options</tt> block, as
154
+ Options must be defined in the context of a <tt>Choice.options</tt> block, as
153
155
  seen above. This context is assumed for the following explanations.
154
156
 
155
157
  For the quick learners, here's the list:
@@ -177,7 +179,7 @@ character.
177
179
  Defines the long switch for an option. Expected to be a double dash followed by
178
180
  a string, an equal sign (or a space), and another string.
179
181
 
180
- There are two variants: longs where a parameter is required and longs where a
182
+ There are two variants: longs where a parameter is required and longs where a
181
183
  parameter is optional, in which case the value will be +true+ if the option is
182
184
  present.
183
185
 
@@ -191,7 +193,7 @@ we can do this:
191
193
 
192
194
  $ ruby ftpd.rb --debug
193
195
  debug: true
194
-
196
+
195
197
  $ ruby ftpd.rb --debug=1
196
198
  debug: 1
197
199
 
@@ -205,7 +207,7 @@ Assuming the same as above:
205
207
 
206
208
  $ ruby ftpd.rb --debug 1
207
209
  debug: 1
208
-
210
+
209
211
  $ ruby ftpd.rb --debug
210
212
  <help screen printed>
211
213
 
@@ -214,7 +216,7 @@ Assuming the same as above:
214
216
  Often you may wish to allow users the ability to pass in multiple arguments and have
215
217
  them all combined into an array. You can accomplish this by defining a +long+ and
216
218
  setting the caps-argument to *ARG. Like this:
217
-
219
+
218
220
  long '--suit *SUITS'
219
221
 
220
222
  <tt>Choice.choices.suits</tt> will now return an array. Here's an example of usage:
@@ -234,7 +236,7 @@ As with the above, assume our program prints <tt>Choice.choices[:debug]</tt>:
234
236
 
235
237
  default 'info'
236
238
 
237
- If we don't pass in <tt>--debug</tt>, the <tt>:debug</tt> element of our hash
239
+ If we don't pass in <tt>--debug</tt>, the <tt>:debug</tt> element of our hash
238
240
  will be 'info.'
239
241
 
240
242
  $ ftpd.rb
@@ -246,7 +248,7 @@ will be 'info.'
246
248
  === desc
247
249
 
248
250
  The description of this option. Fairly straightforward, with one little trick:
249
- multiple +desc+ statements in a single option will be considered new desc lines.
251
+ multiple +desc+ statements in a single option will be considered new desc lines.
250
252
  The desc lines will be printed in the order they are defined. Like this:
251
253
 
252
254
  desc "Your hostname."
@@ -260,8 +262,8 @@ A snippet from your <tt>--help</tt> might then look like this:
260
262
 
261
263
  === cast
262
264
 
263
- By default, all members of the <tt>Choice.choices</tt> hash are strings. If
264
- you want something different, like an Integer for a port number, you can use
265
+ By default, all members of the <tt>Choice.choices</tt> hash are strings. If
266
+ you want something different, like an Integer for a port number, you can use
265
267
  the +cast+ statement.
266
268
 
267
269
  cast Integer
@@ -293,7 +295,7 @@ your option's "desc" value.
293
295
 
294
296
  === validate
295
297
 
296
- The +validate+ statement accepts a regular expression which it will test
298
+ The +validate+ statement accepts a regular expression which it will test
297
299
  against the value passed. If the test fails, the <tt>--help</tt> screen will
298
300
  be printed. I love ports, so let's stick with that example:
299
301
 
@@ -315,8 +317,8 @@ I've told it so):
315
317
  The +filter+ statement lets you play with a value before it goes into the
316
318
  <tt>Choice.choices</tt> hash. If you use +cast+, this will occur post-casting.
317
319
 
318
- In this program we're defining a :name option and saying we don't want any
319
- crazy characters in it, then printing that element of the
320
+ In this program we're defining a :name option and saying we don't want any
321
+ crazy characters in it, then printing that element of the
320
322
  <tt>Choice.choices</tt>+ hash:
321
323
 
322
324
  filter do |value|
@@ -328,7 +330,7 @@ Now:
328
330
  $ ruby ftpd.rb --name=c.hr.is
329
331
  name: chris
330
332
 
331
- You can probably think of better uses.
333
+ You can probably think of better uses.
332
334
 
333
335
  === action
334
336
 
@@ -337,7 +339,7 @@ is passed. See the <tt>--version</tt> example earlier.
337
339
 
338
340
  === required options
339
341
 
340
- You can specify an option as being required by passing :required => true to the
342
+ You can specify an option as being required by passing :required => true to the
341
343
  option definition. Choice will then print the help screen if this option is
342
344
  not present. Please let your dear users know which options are required.
343
345
 
@@ -363,8 +365,8 @@ Passing an empty string to any of these options will print a newline.
363
365
 
364
366
  === banner
365
367
 
366
- The banner is the first line printed when your program is called with
367
- <tt>--help</tt>. By default, it will be something like this, based on the
368
+ The banner is the first line printed when your program is called with
369
+ <tt>--help</tt>. By default, it will be something like this, based on the
368
370
  options defined:
369
371
 
370
372
  Usage: ftpd.rb [-hpv]
@@ -384,7 +386,7 @@ are printed. Each header call is a newline. Check out the example above.
384
386
  === separator
385
387
 
386
388
  As in the example above, you can put separators between options to help display
387
- the logical groupings of your options. Or whatever.
389
+ the logical groupings of your options. Or whatever.
388
390
 
389
391
  separator "----"
390
392
 
@@ -394,14 +396,14 @@ To get a blank line, rock an empty string:
394
396
 
395
397
  === footer
396
398
 
397
- The footer is displayed after all your options are displayed. Nothing new
399
+ The footer is displayed after all your options are displayed. Nothing new
398
400
  here, works like the other options above.
399
401
 
400
402
  footer "That's all there is to it!"
401
403
 
402
404
  == Shorthand
403
405
 
404
- Now that you've gone through all the hard stuff, here's the easy stuff: Choice
406
+ Now that you've gone through all the hard stuff, here's the easy stuff: Choice
405
407
  options can be defined with a simple hash if you'd like. Here's an example,
406
408
  from the tests:
407
409
 
@@ -411,7 +413,7 @@ from the tests:
411
413
  options :band => { :short => "-b", :long => "--band=BAND", :cast => String, :desc => "Your favorite band.",
412
414
  :validate => /\w+/ },
413
415
  :animal => { :short => "-a", :long => "--animal=ANIMAL", :cast => String, :desc => "Your favorite animal." }
414
-
416
+
415
417
  footer ""
416
418
  footer "--help This message"
417
419
  end
@@ -420,17 +422,17 @@ How's that tickle you? Real nice.
420
422
 
421
423
  == It looks like poetry
422
424
 
423
- That's it. Not much, I know. Maybe this will make handling your command
424
- line options a bit easier. You can always use the option parser in the standard
425
- Ruby library, but DSLs are just so cool. As one of my non-programmer friends
425
+ That's it. Not much, I know. Maybe this will make handling your command
426
+ line options a bit easier. You can always use the option parser in the standard
427
+ Ruby library, but DSLs are just so cool. As one of my non-programmer friends
426
428
  said of a Ruby DSL: "It looks like poetry."
427
429
 
428
430
  == It's totally broken
429
431
 
430
- Okay, I knew this would happen. Do me a favor, if you have time: run +rake+
431
- from the Choice directory and send me the output (mailto:chris[at]ozmm[dot]org).
432
- This'll run the unit tests. Also, if you would, send me a bit of information
433
- on your platform. Choice was tested on OS X and RHEL with a 2.4 kernel but who
432
+ Okay, I knew this would happen. Do me a favor, if you have time: run +rake+
433
+ from the Choice directory and send me the output (mailto:chris[at]ozmm[dot]org).
434
+ This'll run the unit tests. Also, if you would, send me a bit of information
435
+ on your platform. Choice was tested on OS X and RHEL with a 2.4 kernel but who
434
436
  knows. Thanks a lot.
435
437
 
436
438
  == Thanks to
data/TODO CHANGED
@@ -1,7 +1,3 @@
1
1
  1. Add support for defining the number of arguments an option takes.
2
- 2. Use a static gemspec.
3
- 3. Add a Gemfile to help with consistency in development.
4
- 4. Simplify anything in the Rakefile that has a more common current practice.
5
- 5. Either make everything work on 1.8.6+ or start deprecating older interpreters.
6
- 6. Publish docs similar to how we used to pub to RubyForge
7
- 7. Convert these to Github Issues
2
+ 2. Publish docs similar to how we used to pub to RubyForge
3
+ 3. Convert these to Github Issues
@@ -17,4 +17,8 @@ Gem::Specification.new do |spec|
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.7"
22
+ spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_development_dependency "test-unit", "~> 3.0"
20
24
  end
@@ -4,16 +4,10 @@ require 'choice/parser'
4
4
  require 'choice/writer'
5
5
  require 'choice/lazyhash'
6
6
 
7
- if RUBY_VERSION < "1.9"
8
- class Hash
9
- alias_method(:key, :index) unless method_defined?(:key)
10
- end
11
- end
12
-
13
7
  #
14
8
  # Usage of this module is lovingly detailed in the README file.
15
9
  #
16
- module Choice
10
+ module Choice
17
11
  extend self
18
12
 
19
13
  # The main method, which defines the options
@@ -24,7 +18,7 @@ module Choice
24
18
  # Setup all instance variables
25
19
  reset! if hash.empty?
26
20
  @@args ||= ARGV
27
-
21
+
28
22
  # Eval the passed block to define the options.
29
23
  instance_eval(&block) if block_given?
30
24
 
@@ -36,13 +30,13 @@ module Choice
36
30
  def options_from_hash(options_hash)
37
31
  options_hash.each do |name, definition|
38
32
  option = Option.new
39
- definition.each do |key, value|
33
+ definition.each do |key, value|
40
34
  Array(value).each { |hit| option.send(key, hit) }
41
35
  end
42
36
  @@options << [name.to_s, option]
43
37
  end
44
38
  end
45
-
39
+
46
40
  # Return an array representing the rest of the command line arguments
47
41
  def rest
48
42
  @@rest
@@ -75,20 +69,14 @@ module Choice
75
69
  # Define the banner, header, footer methods. All are just getters/setters
76
70
  # of class variables.
77
71
  %w[banner header footer].each do |method|
78
- define_method(method) do |string|
72
+ define_method(method) do |string=nil|
79
73
  variable = "@@#{method}"
80
74
  return class_variable_get(variable) if string.nil?
81
75
  val = class_variable_get(variable) || ''
82
76
  class_variable_set(variable, val << string)
83
77
  end
84
-
85
- if RUBY_VERSION > "1.9"
86
- original_method = "original_#{method}"
87
- alias_method original_method, method
88
- eval "def #{method}(string=nil); #{original_method}(string); end"
89
- end
90
78
  end
91
-
79
+
92
80
  # Parse the provided args against the defined options.
93
81
  def parse #:nodoc:
94
82
  # Do nothing if options are not defined.
@@ -99,7 +87,7 @@ module Choice
99
87
  help
100
88
  else
101
89
  begin
102
- # Delegate parsing to our parser class, passing it our defined
90
+ # Delegate parsing to our parser class, passing it our defined
103
91
  # options and the passed arguments.
104
92
  @@choices, @@rest = Parser.parse(@@options, @@args)
105
93
  @@choices = LazyHash.new(@@choices)
@@ -109,19 +97,19 @@ module Choice
109
97
  end
110
98
  end
111
99
  end
112
-
100
+
113
101
  # Did we already parse the arguments?
114
102
  def parsed? #:nodoc:
115
103
  @@choices ||= false
116
104
  end
117
-
105
+
118
106
  # Print the help screen by calling our Writer object
119
107
  def help #:nodoc:
120
- Writer.help( { :banner => @@banner, :header => @@header,
121
- :options => @@options, :footer => @@footer },
108
+ Writer.help( { :banner => @@banner, :header => @@header,
109
+ :options => @@options, :footer => @@footer },
122
110
  output_to, exit_on_help? )
123
111
  end
124
-
112
+
125
113
  # Set the args, potentially to something other than ARGV.
126
114
  def args=(args) #:nodoc:
127
115
  @@args = args.dup.map { |a| a + '' }
@@ -132,11 +120,11 @@ module Choice
132
120
  def args #:nodoc:
133
121
  @@args
134
122
  end
135
-
123
+
136
124
  # Returns the arguments that follow an argument
137
125
  def args_of(opt)
138
126
  args_of_opt = []
139
-
127
+
140
128
  # Return an array of the arguments between opt and the next option,
141
129
  # which all start with "-"
142
130
  @@args.slice(@@args.index(opt)+1, @@args.length).select do |arg|
@@ -148,24 +136,24 @@ module Choice
148
136
  end
149
137
  args_of_opt
150
138
  end
151
-
139
+
152
140
  # You can choose to not kill the script after the help screen is printed.
153
141
  def dont_exit_on_help=(val) #:nodoc:
154
142
  @@exit = true
155
143
  end
156
-
144
+
157
145
  # Do we want to exit on help?
158
146
  def exit_on_help? #:nodoc:
159
147
  @@exit rescue false
160
148
  end
161
-
149
+
162
150
  # If we want to write to somewhere other than STDOUT.
163
151
  def output_to(target = nil) #:nodoc:
164
152
  @@output_to ||= STDOUT
165
153
  return @@output_to if target.nil?
166
154
  @@output_to = target
167
155
  end
168
-
156
+
169
157
  # Reset all the class variables.
170
158
  def reset! #:nodoc:
171
159
  @@args = false
@@ -1,8 +1,8 @@
1
1
  module Choice
2
2
  module Version #:nodoc:
3
3
  MAJOR = 0
4
- MINOR = 1
5
- TINY = 7
4
+ MINOR = 2
5
+ TINY = 0
6
6
  STRING = [MAJOR, MINOR, TINY] * '.'
7
7
  end
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: choice
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Grant Austin
@@ -9,8 +9,50 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-12-28 00:00:00.000000000 Z
13
- dependencies: []
12
+ date: 2014-12-31 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '1.7'
21
+ type: :development
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '1.7'
28
+ - !ruby/object:Gem::Dependency
29
+ name: rake
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '10.0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '10.0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: test-unit
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '3.0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '3.0'
14
56
  description: Choice is a simple little gem for easily defining and parsing command
15
57
  line options with a friendly DSL.
16
58
  email:
@@ -20,8 +62,10 @@ executables: []
20
62
  extensions: []
21
63
  extra_rdoc_files: []
22
64
  files:
23
- - .travis.yml
65
+ - ".gitignore"
66
+ - ".travis.yml"
24
67
  - CHANGELOG
68
+ - Gemfile
25
69
  - LICENSE
26
70
  - README.rdoc
27
71
  - Rakefile
@@ -50,12 +94,12 @@ require_paths:
50
94
  - lib
51
95
  required_ruby_version: !ruby/object:Gem::Requirement
52
96
  requirements:
53
- - - ! '>='
97
+ - - ">="
54
98
  - !ruby/object:Gem::Version
55
99
  version: '0'
56
100
  required_rubygems_version: !ruby/object:Gem::Requirement
57
101
  requirements:
58
- - - ! '>='
102
+ - - ">="
59
103
  - !ruby/object:Gem::Version
60
104
  version: '0'
61
105
  requirements: []
@@ -70,4 +114,3 @@ test_files:
70
114
  - test/test_option.rb
71
115
  - test/test_parser.rb
72
116
  - test/test_writer.rb
73
- has_rdoc: