lib/gator/command.rb in gator-0.0.11.pre vs lib/gator/command.rb in gator-0.0.12.pre
- old
+ new
@@ -1,8 +1,22 @@
module Gator
class Command < Thor
- def self.register_command( name, usage, description, mappings=[], options={} )
- Gator::Runner.register self, name, usage,description,options
- Gator::Runner.map mappings => name
+ def self.register_command(target, name, usage, description, mappings=[], options={})
+ target.register self, name, usage, description, options
+ target.map mappings => name
end
+
+ #The following lines fixes a bug in thor see: https://github.com/wycats/thor/pull/150
+ class << self
+ def register(klass, subcommand_name, usage, description, options={})
+ if klass <= Thor::Group
+ desc usage, description, options
+ define_method(subcommand_name) { |*args| invoke klass }
+ else
+ desc usage, description, options
+ subcommand subcommand_name, klass
+ end
+ end
+ end
+
end
end
\ No newline at end of file