mirror of https://github.com/rails/rails
Make bin/rails call rails/commands/application, fix generators usage and update .gitignores.
This commit is contained in:
parent
391f2543c9
commit
efa850558f
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -1,3 +1,4 @@
|
|||
.bundle
|
||||
db/*.sqlite3
|
||||
log/*.log
|
||||
tmp/**/*
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -1,17 +1,70 @@
|
|||
commands = Dir["#{File.dirname(__FILE__)}/commands/*.rb"].collect { |file_path| File.basename(file_path).split(".").first }
|
||||
|
||||
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]
|
||||
|
||||
Examples:
|
||||
./script/run generate controller Admin
|
||||
./script/run process reaper
|
||||
|
||||
USAGE
|
||||
puts "Choose: #{commands.join(", ")}"
|
||||
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
|
||||
when '--version', '-v'
|
||||
ARGV.unshift '--version'
|
||||
require 'rails/commands/application'
|
||||
else
|
||||
puts "Error: Command not recognized"
|
||||
puts HELP_TEXT
|
||||
end
|
|
@ -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
|
|
@ -9,8 +9,6 @@ require 'active_support/core_ext/hash/deep_merge'
|
|||
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 @@ module Rails
|
|||
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"
|
||||
|
|
|
@ -261,7 +261,7 @@ module Rails
|
|||
# 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.
|
||||
|
|
Loading…
Reference in New Issue