subcommander 1.0.4 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/README.markdown +39 -39
  2. data/lib/subcommander.rb +3 -2
  3. metadata +4 -9
data/README.markdown CHANGED
@@ -6,7 +6,7 @@ More description coming... this is basically a placeholder for now.
6
6
 
7
7
  ### Simple Example:
8
8
 
9
- %w[rubygems subcommander].each { |m| require m }
9
+ %w[rubygems subcommander].each { |m| require m }
10
10
  include Subcommander
11
11
 
12
12
  subcommander.version = '1.0.0'
@@ -15,12 +15,12 @@ More description coming... this is basically a placeholder for now.
15
15
  subcommand :run, "Runs the simple tool" do |sc|
16
16
  sc.opt :just_kidding, '-k', '--just-kidding', "Don't really run the simple tool"
17
17
  sc.exec {
18
- # This is where the subcommand has its implementation
19
- if sc[:just_kidding]
20
- puts "Not really running"
21
- else
22
- puts "Running!"
23
- end
18
+ # This is where the subcommand has its implementation
19
+ if sc[:just_kidding]
20
+ puts "Not really running"
21
+ else
22
+ puts "Running!"
23
+ end
24
24
  }
25
25
  end
26
26
 
@@ -28,38 +28,38 @@ More description coming... this is basically a placeholder for now.
28
28
 
29
29
  ### Nested Subcommands Example:
30
30
 
31
- %w[rubygems subcommander].each { |m| require m }
32
- include Subcommander
33
-
34
- subcommander.version = '1.0.0'
35
- subcommander.desc = "ComplexTool is ephemeral and only here to demonstrate Subcommander."
36
-
37
- subcommand :run, "Commands for running the complex tool" do |run|
38
- run.subcommand 'on-foot', "Run down the street" do |sc|
39
- sc.usage = "complextool run on-foot [-f | -s]"
40
- sc.opt :fast, '-f', '--fast', "Run fast!"
41
- sc.opt :slow, '-s', '--slow', "Run slow."
42
- sc.exec {
43
- speed = "at a normal pace"
44
- if sc[:fast]
45
- speed = 'fast'
46
- elsif sc[:slow]
47
- speed = 'slow'
48
- end
49
- puts "We're running #{speed}"
50
- }
51
- end
52
- run.subcommand 'an-app', "Run an app" do |sc|
53
- sc.arity = 1
54
- sc.usage = "complextool run an-app NAME"
55
- sc.exec {
56
- app = sc[:remaining_args][0]
57
- puts "Running #{app}"
58
- }
59
- end
60
- end
61
-
62
- subcommander.go!
31
+ %w[rubygems subcommander].each { |m| require m }
32
+ include Subcommander
33
+
34
+ subcommander.version = '1.0.0'
35
+ subcommander.desc = "ComplexTool is ephemeral and only here to demonstrate Subcommander."
36
+
37
+ subcommand :run, "Commands for running the complex tool" do |run|
38
+ run.subcommand 'on-foot', "Run down the street" do |sc|
39
+ sc.usage = "complextool run on-foot [-f | -s]"
40
+ sc.opt :fast, '-f', '--fast', "Run fast!"
41
+ sc.opt :slow, '-s', '--slow', "Run slow."
42
+ sc.exec {
43
+ speed = "at a normal pace"
44
+ if sc[:fast]
45
+ speed = 'fast'
46
+ elsif sc[:slow]
47
+ speed = 'slow'
48
+ end
49
+ puts "We're running #{speed}"
50
+ }
51
+ end
52
+ run.subcommand 'an-app', "Run an app" do |sc|
53
+ sc.arity = 1
54
+ sc.usage = "complextool run an-app NAME"
55
+ sc.exec {
56
+ app = sc[:args][0]
57
+ puts "Running #{app}"
58
+ }
59
+ end
60
+ end
61
+
62
+ subcommander.go!
63
63
 
64
64
  ---------------------------
65
65
 
data/lib/subcommander.rb CHANGED
@@ -130,7 +130,7 @@ module Subcommander
130
130
  return
131
131
  end
132
132
  parse_args()
133
- num_remaining = @props[:remaining_args].length
133
+ num_remaining = @props[:args].length
134
134
  if @arity > -1 && num_remaining != @arity
135
135
  puts "We expected #{@arity} arguments and #{num_remaining} were provided."
136
136
  exit
@@ -161,7 +161,8 @@ module Subcommander
161
161
 
162
162
  private
163
163
  def parse_args
164
- @props[:remaining_args] = @opts.parse(@args)
164
+ @props[:args] = @opts.parse(@args)
165
+ @props[:remaining_args] = @props[:args] # for legacy support
165
166
  end
166
167
  end
167
168
  end
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: subcommander
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
5
4
  prerelease: false
6
5
  segments:
7
6
  - 1
7
+ - 1
8
8
  - 0
9
- - 4
10
- version: 1.0.4
9
+ version: 1.1.0
11
10
  platform: ruby
12
11
  authors:
13
12
  - Tom Santos
@@ -15,7 +14,7 @@ autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2011-05-18 00:00:00 -07:00
17
+ date: 2011-07-26 00:00:00 -07:00
19
18
  default_executable:
20
19
  dependencies: []
21
20
 
@@ -40,27 +39,23 @@ rdoc_options: []
40
39
  require_paths:
41
40
  - lib
42
41
  required_ruby_version: !ruby/object:Gem::Requirement
43
- none: false
44
42
  requirements:
45
43
  - - ">="
46
44
  - !ruby/object:Gem::Version
47
- hash: 3
48
45
  segments:
49
46
  - 0
50
47
  version: "0"
51
48
  required_rubygems_version: !ruby/object:Gem::Requirement
52
- none: false
53
49
  requirements:
54
50
  - - ">="
55
51
  - !ruby/object:Gem::Version
56
- hash: 3
57
52
  segments:
58
53
  - 0
59
54
  version: "0"
60
55
  requirements: []
61
56
 
62
57
  rubyforge_project:
63
- rubygems_version: 1.3.7
58
+ rubygems_version: 1.3.6
64
59
  signing_key:
65
60
  specification_version: 3
66
61
  summary: A library for cleanly handling subcommands (and options), like Git