parseargs 0.2.0 → 0.3.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.
@@ -4,7 +4,7 @@ unless defined? $__parseargs__
4
4
  ParseArgs::LIBDIR = File::dirname(File::expand_path(__FILE__)) + File::SEPARATOR unless
5
5
  defined? ParseArgs::LIBDIR
6
6
 
7
- ParseArgs::VERSION = '0.1.0' unless
7
+ ParseArgs::VERSION = '0.3.0' unless
8
8
  defined? ParseArgs::VERSION
9
9
 
10
10
  require 'enumerator'
@@ -173,22 +173,27 @@ unless defined? $__parseargs__
173
173
  instance_eval &b
174
174
  #--}}}
175
175
  end
176
- def define_arguments(list, required, *descs)
176
+ def define(what, list, required, *descs)
177
177
  #--{{{
178
178
  unless descs.empty?
179
179
  metadata = descs.size >= 2 && Hash === descs.last ? descs.pop : {}
180
180
  descs.flatten!
181
- mdefault ||= get_kw('default', metadata)
181
+ mdefault = get_kw('default', metadata)
182
182
  descs.each do |desc|
183
183
  names, default = Hash === desc ? desc.to_a.first : [desc, mdefault]
184
184
  req = default ? false : required
185
185
  names = [ names ] unless names.respond_to? :each
186
186
  names.each do |name|
187
- list << Argument::new(name, metadata.merge('required'=>req,'default'=>default))
187
+ list << what::new(name, metadata.merge('required' => req,'default' => default))
188
188
  end
189
189
  end
190
190
  end
191
191
  list
192
+ #--}}}
193
+ end
194
+ def define_arguments(list, required, *descs)
195
+ #--{{{
196
+ define Argument, list, required, *descs
192
197
  #--}}}
193
198
  end
194
199
  def required_arguments(*descs)
@@ -233,20 +238,7 @@ unless defined? $__parseargs__
233
238
  alias oa optional_arguments
234
239
  def define_keywords(list, required, *descs)
235
240
  #--{{{
236
- unless descs.empty?
237
- metadata = descs.size >= 2 && Hash === descs.last ? descs.pop : {}
238
- descs.flatten!
239
- mdefault ||= get_kw('default', metadata)
240
- descs.each do |desc|
241
- names, default = Hash === desc ? desc.to_a.first : [desc, mdefault]
242
- req = default ? false : required
243
- names = [ names ] unless names.respond_to? :each
244
- names.each do |name|
245
- list << Keyword::new(name, metadata.merge('required'=>req,'default'=>default))
246
- end
247
- end
248
- end
249
- list
241
+ define Keyword, list, required, *descs
250
242
  #--}}}
251
243
  end
252
244
  def required_keywords(*descs)
@@ -272,7 +264,7 @@ unless defined? $__parseargs__
272
264
  def optional_keywords(*descs)
273
265
  #--{{{
274
266
  if descs.empty?
275
- @required_keywords
267
+ @optional_keywords
276
268
  else
277
269
  define_keywords(@optional_keywords, false, *descs)
278
270
  end
@@ -4,7 +4,7 @@ unless defined? $__parseargs__
4
4
  ParseArgs::LIBDIR = File::dirname(File::expand_path(__FILE__)) + File::SEPARATOR unless
5
5
  defined? ParseArgs::LIBDIR
6
6
 
7
- ParseArgs::VERSION = '0.1.0' unless
7
+ ParseArgs::VERSION = '0.3.0' unless
8
8
  defined? ParseArgs::VERSION
9
9
 
10
10
  require 'enumerator'
@@ -173,22 +173,27 @@ unless defined? $__parseargs__
173
173
  instance_eval &b
174
174
  #--}}}
175
175
  end
176
- def define_arguments(list, required, *descs)
176
+ def define(what, list, required, *descs)
177
177
  #--{{{
178
178
  unless descs.empty?
179
179
  metadata = descs.size >= 2 && Hash === descs.last ? descs.pop : {}
180
180
  descs.flatten!
181
- mdefault ||= get_kw('default', metadata)
181
+ mdefault = get_kw('default', metadata)
182
182
  descs.each do |desc|
183
183
  names, default = Hash === desc ? desc.to_a.first : [desc, mdefault]
184
184
  req = default ? false : required
185
185
  names = [ names ] unless names.respond_to? :each
186
186
  names.each do |name|
187
- list << Argument::new(name, metadata.merge('required'=>req,'default'=>default))
187
+ list << what::new(name, metadata.merge('required' => req,'default' => default))
188
188
  end
189
189
  end
190
190
  end
191
191
  list
192
+ #--}}}
193
+ end
194
+ def define_arguments(list, required, *descs)
195
+ #--{{{
196
+ define Argument, list, required, *descs
192
197
  #--}}}
193
198
  end
194
199
  def required_arguments(*descs)
@@ -233,20 +238,7 @@ unless defined? $__parseargs__
233
238
  alias oa optional_arguments
234
239
  def define_keywords(list, required, *descs)
235
240
  #--{{{
236
- unless descs.empty?
237
- metadata = descs.size >= 2 && Hash === descs.last ? descs.pop : {}
238
- descs.flatten!
239
- mdefault ||= get_kw('default', metadata)
240
- descs.each do |desc|
241
- names, default = Hash === desc ? desc.to_a.first : [desc, mdefault]
242
- req = default ? false : required
243
- names = [ names ] unless names.respond_to? :each
244
- names.each do |name|
245
- list << Keyword::new(name, metadata.merge('required'=>req,'default'=>default))
246
- end
247
- end
248
- end
249
- list
241
+ define Keyword, list, required, *descs
250
242
  #--}}}
251
243
  end
252
244
  def required_keywords(*descs)
@@ -272,7 +264,7 @@ unless defined? $__parseargs__
272
264
  def optional_keywords(*descs)
273
265
  #--{{{
274
266
  if descs.empty?
275
- @required_keywords
267
+ @optional_keywords
276
268
  else
277
269
  define_keywords(@optional_keywords, false, *descs)
278
270
  end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: parseargs
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.2.0
7
- date: 2005-10-23 00:00:00.000000 -06:00
6
+ version: 0.3.0
7
+ date: 2005-10-24 00:00:00.000000 -06:00
8
8
  summary: parseargs
9
9
  require_paths:
10
10
  - lib
@@ -30,7 +30,7 @@ authors:
30
30
  - Ara T. Howard
31
31
  files:
32
32
  - lib/parseargs.rb
33
- - lib/parseargs-0.2.0.rb
33
+ - lib/parseargs-0.3.0.rb
34
34
  test_files: []
35
35
  rdoc_options: []
36
36
  extra_rdoc_files: []