aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib/rails')
-rw-r--r--railties/lib/rails/vendor/thor-0.12.3/lib/thor/group.rb9
1 files changed, 6 insertions, 3 deletions
diff --git a/railties/lib/rails/vendor/thor-0.12.3/lib/thor/group.rb b/railties/lib/rails/vendor/thor-0.12.3/lib/thor/group.rb
index a585b37b73..eda3b52c4f 100644
--- a/railties/lib/rails/vendor/thor-0.12.3/lib/thor/group.rb
+++ b/railties/lib/rails/vendor/thor-0.12.3/lib/thor/group.rb
@@ -252,10 +252,13 @@ class Thor::Group
shell.padding += 1
result = if block_given?
- if block.arity == 2
- block.call(self, klass)
- else
+ case block.arity
+ when 3
block.call(self, klass, task)
+ when 2
+ block.call(self, klass)
+ when 1
+ instance_exec(klass, &block)
end
else
invoke klass, task, *args