diff options
author | miloops <miloops@gmail.com> | 2008-09-11 12:06:36 -0300 |
---|---|---|
committer | Michael Koziarski <michael@koziarski.com> | 2008-09-11 17:12:00 +0200 |
commit | c98cb8ffc2f42bff565994951af9412e52fcdc58 (patch) | |
tree | fcff77ec4ef21c087ade81c6b03a8eb75ea410c1 | |
parent | 1ddde91303883b47f2215779cf45d7008377bd0d (diff) | |
download | rails-c98cb8ffc2f42bff565994951af9412e52fcdc58.tar.gz rails-c98cb8ffc2f42bff565994951af9412e52fcdc58.tar.bz2 rails-c98cb8ffc2f42bff565994951af9412e52fcdc58.zip |
Add --debugger option to script/console.
Signed-off-by: Michael Koziarski <michael@koziarski.com>
[#1025 state:committed]
-rw-r--r-- | railties/lib/commands/console.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/railties/lib/commands/console.rb b/railties/lib/commands/console.rb index 2b9d92f647..63df834639 100644 --- a/railties/lib/commands/console.rb +++ b/railties/lib/commands/console.rb @@ -1,11 +1,13 @@ irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb' require 'optparse' + options = { :sandbox => false, :irb => irb } OptionParser.new do |opt| opt.banner = "Usage: console [environment] [options]" opt.on('-s', '--sandbox', 'Rollback database modifications on exit.') { |v| options[:sandbox] = v } opt.on("--irb=[#{irb}]", 'Invoke a different irb.') { |v| options[:irb] = v } + opt.on("--debugger", 'Enable ruby-debugging for the console.') { |v| options[:debugger] = v } opt.parse!(ARGV) end @@ -15,6 +17,17 @@ libs << " -r console_app" libs << " -r console_sandbox" if options[:sandbox] libs << " -r console_with_helpers" +if options[:debugger] + begin + require 'ruby-debug' + libs << " -r ruby-debug" + puts "=> Debugger enabled" + rescue Exception + puts "You need to install ruby-debug to run the console in debugging mode. With gems, use 'gem install ruby-debug'" + exit + end +end + ENV['RAILS_ENV'] = case ARGV.first when "p"; "production" when "d"; "development" |