Backport refinerycms --help to 2-0-stable #1931

Merged
merged 2 commits into from Sep 6, 2012
View
@@ -4,7 +4,29 @@ require 'rails/generators'
require 'rails/generators/rails/app/app_generator'
template_path = File.expand_path('../../templates/refinery/installer.rb', __FILE__)
+if ARGV.size == 0 || ARGV[0] == "--help"
+ puts "Usage:"
+ puts " refinerycms APP_NAME [options]"
+ puts ""
+ puts "Options:"
+ # Support when running locally
+ relative_path = File.expand_path('../../core/lib/generators/refinery/cms/cms_generator.rb', __FILE__)
+ if File.exist?(relative_path)
+ require relative_path
+ else
+ gem 'refinerycms-core'
+ require 'generators/refinery/cms/cms_generator'
+ end
+ Refinery::CmsGenerator.class_options.each do |raw, option|
+ dasherized = "--#{option.name.to_s.gsub('_', '-')}"
+ dasherized = [option.aliases, "[#{dasherized}]"].flatten.join(', ') if option.aliases.any?
+ puts " #{dasherized}".ljust(28) << "# #{option.description}"
+ end
+ exit 0
+end
+
application_name = ARGV.shift
+
result = Rails::Generators::AppGenerator.start [application_name, '-m', template_path, '--skip-test-unit'] | ARGV
if result && result.include?('Gemfile')
@@ -13,7 +35,7 @@ if result && result.include?('Gemfile')
note << "\ncd #{application_name}"
note << "rails server"
note << "\nThis will launch the built-in webserver at port 3000."
- note << "You can now see your site running in your browser at http://localhost:3000"
+ note << "You can now see Refinery running in your browser at http://localhost:3000/refinery"
if ARGV.include?('--heroku')
note << "\nIf you want files and images to work on Heroku, you will need setup S3:"
@@ -24,4 +46,4 @@ if result && result.include?('Gemfile')
note << "---------\n\n"
puts note
-end
+end
@@ -1,3 +1,5 @@
+require 'pathname'
+
module Refinery
class CmsGenerator < Rails::Generators::Base
source_root Pathname.new(File.expand_path('../templates', __FILE__))