optbind 0.1.1 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4bbd7b50c946cd38ad3f9a52ea238a720911ba05
4
- data.tar.gz: eecff7f31e2be0f42881cb35975a5c876de09704
3
+ metadata.gz: e3485c510fd2365cc58b94b2f17c496018aaea3f
4
+ data.tar.gz: 8fb54e1940696f5acdcda990c1b077dc819096ba
5
5
  SHA512:
6
- metadata.gz: 030681b2a420241cb277fa94b87c34dd88e37074b639fdc4878760727147092b4caf58a430603768e78ad52c214ad2aa366917277125e3e2df9f9e7e91d25071
7
- data.tar.gz: d406cf5b3633178e1bda33ecda4e3ca1b683d0c68f8817509b8be6fa0f7acc797c122ddccc1f49c3bb1384486a915fe23d1e2d29753a49f1f7551305c04a4b3f
6
+ metadata.gz: 7ead582848118d462036fef4b247922e6e90283dca27b52d4d63ea9ebee2d27c5b4e8cdadc93af5d1119dfbeca939ab9009ab674bd07d4e1f85deb76a7fd1ea8
7
+ data.tar.gz: b247fcc9a0406a2bcc702fc7b753a8e2613013df400e6dc4dc90cf1afa5bc170981d4a3dbccdb6b9d3feb828706b421e8d555c0d57b994c93e97de0330b02b72
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 0.2.0
2
+
3
+ * Unconditionally abort on any parse error
4
+
5
+ *Pavol Zbell*
6
+
1
7
  ## 0.1.1
2
8
 
3
9
  * Fix critical bug when parsing arguments
data/TODO.md CHANGED
@@ -3,6 +3,7 @@
3
3
  - `Switch#parser_opts_from_string` - support regexps with options, like `=<name:/[a-z]/i>`
4
4
  - `Switch#parser_opts_from_string` - support ranges, like `=<indent:0..8>`
5
5
  - add default support for ranges on `OptionParser` level
6
+ - add support for `Module#class_variables`
6
7
  - add type conversion and patterns for arguments
7
8
  - make optional extensions for `OptionParser` monkey-patching `make_switch` to support hash-or-string-exclusive arguments
8
9
 
@@ -1,3 +1,3 @@
1
1
  module OptBind
2
- VERSION = '0.1.1'
2
+ VERSION = '0.2.0'
3
3
  end
data/lib/optbind.rb CHANGED
@@ -40,34 +40,8 @@ class OptionBinder
40
40
  def_delegators :@parser, :abort, :warn
41
41
  def_delegators :@parser, :load
42
42
 
43
- def order(*argv, &blk)
44
- @parser.order *argv, &blk
45
- parse_args argv
46
- end
47
-
48
- def order!(argv)
49
- @parser.order! argv
50
- parse_args argv
51
- end
52
-
53
- def permute(*argv)
54
- @parser.permute *argv
55
- parse_args argv
56
- end
57
-
58
- def permute!(argv)
59
- @parser.permute! argv
60
- parse_args argv
61
- end
62
-
63
- def parse(*argv)
64
- @parser.parse *argv
65
- parse_args argv
66
- end
67
-
68
- def parse!(argv)
69
- @parser.parse! argv
70
- parse_args! argv
43
+ { order: '*argv, &blk', order!: 'argv', permute: '*argv', permute!: 'argv', parse: '*argv', parse!: 'argv' }.each do |m, a|
44
+ class_eval "def #{m} #{a}; @parser.#{m} #{a}; parse_args#{'!' if m =~ /!\z/} argv; rescue OptionParser::ParseError; @parser.abort; end", __FILE__, __LINE__
71
45
  end
72
46
 
73
47
  def_delegators :@parser, :to_a, :to_s
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: optbind
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavol Zbell