Permalink
Browse files

Make bin/rails call rails/commands/application, fix generators usage …

…and update .gitignores.
  • Loading branch information...
1 parent 391f254 commit efa850558facf2fbaaf226f1444802da83924b82 @josevalim josevalim committed Feb 3, 2010
View
5 .gitignore
@@ -14,9 +14,8 @@ railties/test/fixtures/tmp
railties/test/initializer/root/log
railties/doc/guides/html/images
railties/doc/guides/html/stylesheets
-benches
railties/guides/output
-bin
-vendor/gems/
railties/tmp
+bin
+.bundle
pkg
View
27 railties/bin/rails
@@ -1,30 +1,11 @@
if File.exists?(Dir.getwd + '/script/rails')
exec(Dir.getwd + '/script/rails', *ARGV)
else
- begin
- require 'rails/ruby_version_check'
- rescue LoadError
- # If people are not using gems, the load path must still
- # be correct.
- # TODO: Remove the begin / rescue block somehow
- $:.unshift File.expand_path('../../lib', __FILE__)
- $:.unshift File.expand_path('../../../activesupport/lib', __FILE__)
- $:.unshift File.expand_path('../../../actionpack/lib', __FILE__)
- require 'rails/ruby_version_check'
- end
+ railties_path = File.expand_path('../../lib', __FILE__)
+ $:.unshift(railties_path) if File.directory?(railties_path) && !$:.include?(railties_path)
+ require 'rails/ruby_version_check'
Signal.trap("INT") { puts; exit }
- require 'rails/version'
- if %w(--version -v).include? ARGV.first
- puts "Rails #{Rails::VERSION::STRING}"
- exit(0)
- end
-
- ARGV << "--help" if ARGV.empty?
-
- require 'rails/generators'
- require 'generators/rails/app/app_generator'
-
- Rails::Generators::AppGenerator.start
+ require 'rails/commands/application'
end
View
1 railties/lib/generators/rails/app/templates/gitignore
@@ -1,3 +1,4 @@
+.bundle
db/*.sqlite3
log/*.log
tmp/**/*
View
2 railties/lib/generators/rails/app/templates/script/rails
@@ -6,4 +6,4 @@ APP_PATH = File.expand_path('../../config/application', __FILE__)
ROOT_PATH = File.expand_path('../..', __FILE__)
require BOOT_PATH
-require 'rails/commands/rails'
+require 'rails/commands'
View
79 railties/lib/rails/commands.rb
@@ -1,17 +1,70 @@
-commands = Dir["#{File.dirname(__FILE__)}/commands/*.rb"].collect { |file_path| File.basename(file_path).split(".").first }
+if ARGV.empty?
+ ARGV << '--help'
+end
-if commands.include?(ARGV.first)
- require "#{File.dirname(__FILE__)}/commands/#{ARGV.shift}"
-else
- puts <<-USAGE
-The 'run' provides a unified access point for all the default Rails' commands.
-
-Usage: ./script/run <command> [OPTIONS]
+HELP_TEXT = <<-EOT
+Usage: rails COMMAND [ARGS]
+
+The most common rails commands are:
+ generate Generate new code (short-cut alias: "g")
+ console Start the Rails console (short-cut alias: "c")
+ server Start the Rails server (short-cut alias: "s")
+ dbconsole Start a console for the database specified in config/database.yml
+ (short-cut alias: "db")
+
+In addition to those, there are:
+ application Generate the Rails application code
+ destroy Undo code generated with "generate"
+ benchmarker See how fast a piece of code runs
+ profiler Get profile information from a piece of code
+ plugin Install a plugin
+ runner Run a piece of code in the application environment
+
+All commands can be run with -h for more information.
+EOT
-Examples:
- ./script/run generate controller Admin
- ./script/run process reaper
-USAGE
- puts "Choose: #{commands.join(", ")}"
+case ARGV.shift
+when 'g', 'generate'
+ require ENV_PATH
+ require 'rails/commands/generate'
+when 'c', 'console'
+ require 'rails/commands/console'
+ require APP_PATH
+ Rails::Console.start(Rails::Application)
+when 's', 'server'
+ require 'rails/commands/server'
+ Dir.chdir(ROOT_PATH)
+ Rails::Server.start
+when 'db', 'dbconsole'
+ require 'rails/commands/dbconsole'
+ require APP_PATH
+ Rails::DBConsole.start(Rails::Application)
+
+when 'application'
+ require 'rails/commands/application'
+when 'destroy'
+ require ENV_PATH
+ require 'rails/commands/destroy'
+when 'benchmarker'
+ require ENV_PATH
+ require 'rails/commands/performance/benchmarker'
+when 'profiler'
+ require ENV_PATH
+ require 'rails/commands/performance/profiler'
+when 'plugin'
+ require APP_PATH
+ require 'rails/commands/plugin'
+when 'runner'
+ require 'rails/commands/runner'
+ require ENV_PATH
+
+when '--help', '-h'
+ puts HELP_TEXT
+when '--version', '-v'
+ ARGV.unshift '--version'
+ require 'rails/commands/application'
+else
+ puts "Error: Command not recognized"
+ puts HELP_TEXT
end
View
67 railties/lib/rails/commands/rails.rb
@@ -1,67 +0,0 @@
-if ARGV.empty?
- ARGV << '--help'
-end
-
-HELP_TEXT = <<-EOT
-usage: rails COMMAND [ARGS]
-
-The most common rails commands are:
- generate Generate new code (short-cut alias: "g")
- console Start the Rails console (short-cut alias: "c")
- server Start the Rails server (short-cut alias: "s")
- dbconsole Start a console for the database specified in config/database.yml
- (short-cut alias: "db")
-
-In addition to those, there are:
- application Generate the Rails application code
- destroy Undo code generated with "generate"
- benchmarker See how fast a piece of code runs
- profiler Get profile information from a piece of code
- plugin Install a plugin
- runner Run a piece of code in the application environment
-
-All commands can be run with -h for more information.
-EOT
-
-
-case ARGV.shift
-when 'g', 'generate'
- require ENV_PATH
- require 'rails/commands/generate'
-when 'c', 'console'
- require 'rails/commands/console'
- require APP_PATH
- Rails::Console.start(Rails::Application)
-when 's', 'server'
- require 'rails/commands/server'
- Dir.chdir(ROOT_PATH)
- Rails::Server.start
-when 'db', 'dbconsole'
- require 'rails/commands/dbconsole'
- require APP_PATH
- Rails::DBConsole.start(Rails::Application)
-
-when 'application'
- require 'rails/commands/application'
-when 'destroy'
- require ENV_PATH
- require 'rails/commands/destroy'
-when 'benchmarker'
- require ENV_PATH
- require 'rails/commands/performance/benchmarker'
-when 'profiler'
- require ENV_PATH
- require 'rails/commands/performance/profiler'
-when 'plugin'
- require APP_PATH
- require 'rails/commands/plugin'
-when 'runner'
- require 'rails/commands/runner'
- require ENV_PATH
-
-when '--help', '-h'
- puts HELP_TEXT
-else
- puts "Error: Command not recognized"
- puts HELP_TEXT
-end
View
4 railties/lib/rails/generators.rb
@@ -9,8 +9,6 @@
require 'active_support/core_ext/module/attribute_accessors'
require 'active_support/core_ext/string/inflections'
-# TODO: Do not always push on vendored thor
-$LOAD_PATH.unshift("#{File.dirname(__FILE__)}/vendor/thor-0.12.3/lib")
require 'rails/generators/base'
require 'rails/generators/named_base'
@@ -175,7 +173,7 @@ def self.help
groups[base] << namespace
end
- puts "Usage: generate GENERATOR [args] [options]"
+ puts "Usage: rails generate GENERATOR [args] [options]"
puts
puts "General options:"
puts " -h, [--help] # Print generators options and usage"
View
2 railties/lib/rails/generators/base.rb
@@ -261,7 +261,7 @@ def class_collisions(*class_names) #:nodoc:
# Use Rails default banner.
#
def self.banner
- "#{$0} #{generator_name} #{self.arguments.map{ |a| a.usage }.join(' ')} [options]"
+ "rails generate #{generator_name} #{self.arguments.map{ |a| a.usage }.join(' ')} [options]"
end
# Sets the base_name taking into account the current class namespace.

0 comments on commit efa8505

Please sign in to comment.