thunder 0.6.0 → 0.6.1
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/bin/thunder-spec +0 -2
- data/lib/thunder.rb +14 -6
- data/lib/thunder/version.rb +1 -1
- metadata +6 -6
data/bin/thunder-spec
CHANGED
data/lib/thunder.rb
CHANGED
@@ -155,9 +155,9 @@ module Thunder
|
|
155
155
|
# @api private
|
156
156
|
# Registers a method as a thunder task
|
157
157
|
def method_added(method)
|
158
|
-
add_command(method.to_sym)
|
159
|
-
|
160
|
-
|
158
|
+
add_command(method.to_sym) do |command|
|
159
|
+
command[:params] = instance_method(method).parameters
|
160
|
+
end
|
161
161
|
end
|
162
162
|
|
163
163
|
# Set the options processor.
|
@@ -225,12 +225,13 @@ module Thunder
|
|
225
225
|
# @param command [Symbol,String] the command that transfers processing to the provided handler
|
226
226
|
# @param handler [Thunder] the handler that processes the request
|
227
227
|
def subcommand(command, handler)
|
228
|
-
add_command(command.to_sym)
|
229
|
-
|
228
|
+
add_command(command.to_sym) do |subcommand|
|
229
|
+
subcommand[:subcommand] = handler
|
230
|
+
end
|
230
231
|
end
|
231
232
|
|
232
233
|
private
|
233
|
-
def add_command(command)
|
234
|
+
def add_command(command, &block)
|
234
235
|
attributes = [:usage, :description, :options, :long_description]
|
235
236
|
return unless attributes.reduce(nil) { |a, key| a || thunder[key] }
|
236
237
|
thunder[:commands][command] = {
|
@@ -239,6 +240,13 @@ module Thunder
|
|
239
240
|
attributes.each do |key|
|
240
241
|
thunder[:commands][command][key] = thunder.delete(key)
|
241
242
|
end
|
243
|
+
if block
|
244
|
+
if block.arity == 0
|
245
|
+
block.call
|
246
|
+
else
|
247
|
+
block.call thunder[:commands][command]
|
248
|
+
end
|
249
|
+
end
|
242
250
|
end
|
243
251
|
end
|
244
252
|
end
|
data/lib/thunder/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: thunder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,27 +9,27 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-01-
|
12
|
+
date: 2013-01-07 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Thunder does command line interfaces. Nothing more, nothing less.
|
15
15
|
email: steven.karas@gmail.com
|
16
16
|
executables:
|
17
|
-
- thunder-spec
|
18
17
|
- thunder-completion
|
18
|
+
- thunder-spec
|
19
19
|
extensions: []
|
20
20
|
extra_rdoc_files: []
|
21
21
|
files:
|
22
22
|
- lib/thunder/help/default.rb
|
23
|
-
- lib/thunder/version.rb
|
24
23
|
- lib/thunder/options/optparse.rb
|
25
24
|
- lib/thunder/options/trollop.rb
|
25
|
+
- lib/thunder/version.rb
|
26
26
|
- lib/thunder.rb
|
27
27
|
- spec/spec_thunder.rb
|
28
|
-
- Rakefile
|
29
28
|
- DESIGN.md
|
29
|
+
- Rakefile
|
30
30
|
- README.md
|
31
|
-
- bin/thunder-spec
|
32
31
|
- bin/thunder-completion
|
32
|
+
- bin/thunder-spec
|
33
33
|
homepage: http://stevenkaras.github.com/thunder
|
34
34
|
licenses: []
|
35
35
|
post_install_message:
|