bin/praxis in praxis-0.10.1 vs bin/praxis in praxis-0.11pre
- old
+ new
@@ -1,10 +1,39 @@
#! /usr/bin/env ruby
require 'bundler'
-path_to_praxis = Bundler.rubygems.find_name('praxis').first.full_gem_path
-path_to_generator = '%s/tasks/praxis_app_generator.thor' % path_to_praxis
+path_to_praxis = File.expand_path(File.dirname(File.dirname(__FILE__)))
+path_to_loader = '%s/tasks/loader.thor' % path_to_praxis
-load path_to_generator
+load path_to_loader
-PraxisAppGenerator.start(ARGV)
+class PraxisGenerator < Thor
+
+ # Simple helper to go get the existing description for the real action
+ # Usage must still be provided rather than retrieved (since it is not a
+ # straight "usage" from the remote action when arguments are defined )
+ def self.desc_for( usage_string, klass, action_name, description_prefix="")
+ action_name = action_name.to_s
+ cmd = klass.commands[action_name]
+ raise "Error, could not find description for #{klass.name}##{action_name}" if cmd.nil?
+ desc usage_string, "#{description_prefix}#{cmd.description}"
+ end
+
+ desc_for "new APP_NAME", ::PraxisGen::App, :new
+ def new(app_name)
+ ::PraxisGen::App.start(['new' , app_name])
+ end
+
+ desc_for "example APP_NAME", ::PraxisGen::Example, :new
+ def example(app_name)
+ ::PraxisGen::Example.start(['new', app_name])
+ end
+
+ desc_for "generate APP_NAME", ::PraxisGen::Example, :new, "DEPRECATED!: "
+ def generate(app_name)
+ warn "This is a deprecated method.\nTo generate a hello world example, please use:\n praxis example #{app_name} "
+ end
+end
+
+
+PraxisGenerator.start(ARGV)
\ No newline at end of file