clip 0.0.3 → 0.0.5
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.
- data/History.txt +16 -3
- data/lib/clip.rb +3 -3
- data/spec/clip_spec.rb +4 -0
- metadata +4 -5
- data/bin/sample_parser +0 -20
data/History.txt
CHANGED
@@ -1,8 +1,21 @@
|
|
1
|
-
=== 0.0.
|
1
|
+
=== 0.0.5 / 2008-06-12
|
2
2
|
|
3
|
-
*
|
3
|
+
* Removed sample_parser from bin (technomancy)
|
4
|
+
* fix a stupid bug causing an infinite loop for empty ARGV (technomancy)
|
5
|
+
|
6
|
+
=== 0.0.4 / 2008-06-06
|
7
|
+
|
8
|
+
* Fixed typo in error message (thanks francois!)
|
9
|
+
|
10
|
+
=== 0.0.3 / 2008-06-05
|
11
|
+
|
12
|
+
* Merged technomancy's patches for simple 1 LOC parsing -> hash
|
4
13
|
|
5
14
|
=== 0.0.2 / 2008-05-20
|
6
15
|
|
7
16
|
* Cleaned up README
|
8
|
-
* Added support for late-binding option processing with blocks
|
17
|
+
* Added support for late-binding option processing with blocks
|
18
|
+
|
19
|
+
=== 0.0.1 / 2008-04-10
|
20
|
+
|
21
|
+
* Initial release for y'all to throw rotten veggies at.
|
data/lib/clip.rb
CHANGED
@@ -13,7 +13,7 @@ def Clip(args=ARGV)
|
|
13
13
|
end
|
14
14
|
|
15
15
|
module Clip
|
16
|
-
VERSION = "0.0.
|
16
|
+
VERSION = "0.0.5"
|
17
17
|
|
18
18
|
##
|
19
19
|
# Indicates that the parser was incorrectly configured in the
|
@@ -160,7 +160,7 @@ module Clip
|
|
160
160
|
option.process(self, value)
|
161
161
|
end
|
162
162
|
else
|
163
|
-
@errors[param] = "
|
163
|
+
@errors[param] = "Unrecognized parameter"
|
164
164
|
@valid = false
|
165
165
|
next
|
166
166
|
end
|
@@ -350,7 +350,7 @@ module Clip
|
|
350
350
|
# # Clip.hash == { 'c' => 'config.yml', 'mode' => 'optimistic' }
|
351
351
|
def self.hash(argv = ARGV.dup, values = [])
|
352
352
|
@hash ||= begin
|
353
|
-
argv.shift until argv.first =~ HASHER_REGEX
|
353
|
+
argv.shift until argv.first =~ HASHER_REGEX or argv.empty?
|
354
354
|
while argv.first =~ HASHER_REGEX and argv.size >= 2 do
|
355
355
|
values += [argv.shift.sub(/^--?/, ''), argv.shift]
|
356
356
|
end
|
data/spec/clip_spec.rb
CHANGED
@@ -310,5 +310,9 @@ describe Clip do
|
|
310
310
|
Clip.hash(['-c', 'config.yml', '--mode', 'optimistic']).
|
311
311
|
should == { 'c' => 'config.yml', 'mode' => 'optimistic' }
|
312
312
|
end
|
313
|
+
|
314
|
+
it "should return an empty hash for empty ARGV" do
|
315
|
+
Clip.hash([]).should == {}
|
316
|
+
end
|
313
317
|
end
|
314
318
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clip
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Vollmer
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-06-
|
12
|
+
date: 2008-06-13 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -24,8 +24,8 @@ dependencies:
|
|
24
24
|
description: You like command-line parsing, but you hate all of the bloat. Why should you have to create a Hash, then create a parser, fill the Hash out then throw the parser away (unless you want to print out a usage message) and deal with a Hash? Why, for Pete's sake, should the parser and the parsed values be handled by two different objects?
|
25
25
|
email:
|
26
26
|
- alex.vollmer@gmail.com
|
27
|
-
executables:
|
28
|
-
|
27
|
+
executables: []
|
28
|
+
|
29
29
|
extensions: []
|
30
30
|
|
31
31
|
extra_rdoc_files:
|
@@ -34,7 +34,6 @@ extra_rdoc_files:
|
|
34
34
|
files:
|
35
35
|
- History.txt
|
36
36
|
- README.txt
|
37
|
-
- bin/sample_parser
|
38
37
|
- lib/clip.rb
|
39
38
|
- spec/clip_spec.rb
|
40
39
|
has_rdoc: true
|
data/bin/sample_parser
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require File.join(File.dirname(__FILE__), "../lib/clip")
|
4
|
-
|
5
|
-
##
|
6
|
-
# This is a very simple example of how to use Clip
|
7
|
-
p = Clip do |c|
|
8
|
-
c.optional 's', 'server', :desc => 'The server name', :default => 'localhost'
|
9
|
-
c.optional 'p', 'port', :desc => 'The port', :default => 8080 do |v|
|
10
|
-
v.to_i
|
11
|
-
end
|
12
|
-
c.optional 'f', 'files', :desc => 'Files to upload', :multi => true
|
13
|
-
c.flag 'v', 'verbose', :desc => 'Make it verbose, man'
|
14
|
-
end
|
15
|
-
|
16
|
-
printf("%10s %-20s\n", "attribute", "value")
|
17
|
-
[:server, :port, :verbose?].each do |att|
|
18
|
-
printf("%10s %-20s\n", att, p.send(att))
|
19
|
-
end
|
20
|
-
printf("%10s %-20s\n", "files", p.files.inspect)
|