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 +4 -4
- data/CHANGELOG.md +6 -0
- data/TODO.md +1 -0
- data/lib/optbind/version.rb +1 -1
- data/lib/optbind.rb +2 -28
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e3485c510fd2365cc58b94b2f17c496018aaea3f
|
|
4
|
+
data.tar.gz: 8fb54e1940696f5acdcda990c1b077dc819096ba
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7ead582848118d462036fef4b247922e6e90283dca27b52d4d63ea9ebee2d27c5b4e8cdadc93af5d1119dfbeca939ab9009ab674bd07d4e1f85deb76a7fd1ea8
|
|
7
|
+
data.tar.gz: b247fcc9a0406a2bcc702fc7b753a8e2613013df400e6dc4dc90cf1afa5bc170981d4a3dbccdb6b9d3feb828706b421e8d555c0d57b994c93e97de0330b02b72
|
data/CHANGELOG.md
CHANGED
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
|
|
data/lib/optbind/version.rb
CHANGED
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
|
-
|
|
44
|
-
@parser.
|
|
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
|