From b0665345f85e4b7f3b3367ee36fa205e7ff78d12 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Mon, 15 Nov 2010 13:09:05 -0600 Subject: Allow running `rails plugin new` command inside rails application --- railties/lib/rails/commands.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'railties/lib/rails/commands.rb') diff --git a/railties/lib/rails/commands.rb b/railties/lib/rails/commands.rb index e3aa6d7c3e..c8a33c1266 100644 --- a/railties/lib/rails/commands.rb +++ b/railties/lib/rails/commands.rb @@ -12,14 +12,19 @@ command = aliases[command] || command case command when 'generate', 'destroy', 'plugin' - require APP_PATH - Rails.application.require_environment! + if command == "plugin" && ARGV.first == "new" + require "rails/commands/plugin_new" + else + require APP_PATH + Rails.application.require_environment! - if defined?(ENGINE_PATH) - engine = Rails.application.railties.engines.find { |r| r.root.to_s == ENGINE_PATH } - Rails.application = engine + if defined?(ENGINE_PATH) + engine = Rails.application.railties.engines.find { |r| r.root.to_s == ENGINE_PATH } + Rails.application = engine + end + + require "rails/commands/#{command}" end - require "rails/commands/#{command}" when 'benchmarker', 'profiler' require APP_PATH -- cgit v1.2.3 From bf176e9c7a1aa46b021384b91f4f9ec9a1132c0f Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Mon, 15 Nov 2010 13:09:39 -0600 Subject: Do not allow to use plugin_new generator directly, you should use Usage: rails new APP_PATH [options] Options: -G, [--skip-git] # Skip Git ignores and keeps -r, [--ruby=PATH] # Path to the Ruby binary of your choice # Default: /Users/drogus/.rvm/rubies/ruby-1.8.7-p302/bin/ruby -b, [--builder=BUILDER] # Path to an application builder (can be a filesystem path or URL) [--edge] # Setup the application with Gemfile pointing to Rails repository [--dev] # Setup the application with Gemfile pointing to your Rails checkout [--skip-gemfile] # Don't create a Gemfile -d, [--database=DATABASE] # Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite3/frontbase/ibm_db) # Default: sqlite3 -O, [--skip-active-record] # Skip Active Record files -m, [--template=TEMPLATE] # Path to an application template (can be a filesystem path or URL) -J, [--skip-prototype] # Skip Prototype files -T, [--skip-test-unit] # Skip Test::Unit files Runtime options: -s, [--skip] # Skip files that already exist -p, [--pretend] # Run but do not make any changes -f, [--force] # Overwrite files that already exist -q, [--quiet] # Supress status output Rails options: -v, [--version] # Show Rails version number and quit -h, [--help] # Show this help message and quit Description: The 'rails new' command creates a new Rails application with a default directory structure and configuration at the path you specify. Example: rails new ~/Code/Ruby/weblog This generates a skeletal Rails installation in ~/Code/Ruby/weblog. See the README in the newly created application to get going. command --- railties/lib/rails/commands.rb | 3 +++ 1 file changed, 3 insertions(+) (limited to 'railties/lib/rails/commands.rb') diff --git a/railties/lib/rails/commands.rb b/railties/lib/rails/commands.rb index c8a33c1266..de5d876c18 100644 --- a/railties/lib/rails/commands.rb +++ b/railties/lib/rails/commands.rb @@ -14,6 +14,9 @@ case command when 'generate', 'destroy', 'plugin' if command == "plugin" && ARGV.first == "new" require "rails/commands/plugin_new" + elsif command == 'generate' && ARGV.first == "plugin_new" + puts "This generator should not be used directly as a generator. You should use `rails plugin new` command instead" + exit(1) else require APP_PATH Rails.application.require_environment! -- cgit v1.2.3 From 7b2f2c8b477adae9bc7243fb9c895f8a823188a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Wed, 17 Nov 2010 23:31:29 +0100 Subject: Tidy up generators commits. --- railties/lib/rails/commands.rb | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'railties/lib/rails/commands.rb') diff --git a/railties/lib/rails/commands.rb b/railties/lib/rails/commands.rb index de5d876c18..338565247f 100644 --- a/railties/lib/rails/commands.rb +++ b/railties/lib/rails/commands.rb @@ -12,11 +12,8 @@ command = aliases[command] || command case command when 'generate', 'destroy', 'plugin' - if command == "plugin" && ARGV.first == "new" + if command == 'plugin' && ARGV.first == 'new' require "rails/commands/plugin_new" - elsif command == 'generate' && ARGV.first == "plugin_new" - puts "This generator should not be used directly as a generator. You should use `rails plugin new` command instead" - exit(1) else require APP_PATH Rails.application.require_environment! -- cgit v1.2.3