From 330823687bbae1c05af6545912377d317300c1bb Mon Sep 17 00:00:00 2001 From: Marcel Molina Date: Tue, 21 Mar 2006 20:07:41 +0000 Subject: Make all ActionView helpers available in the console for debugging purposes. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4008 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- railties/CHANGELOG | 10 ++++++++++ railties/lib/commands/console.rb | 1 + railties/lib/console_with_helpers.rb | 15 +++++++++++++++ 3 files changed, 26 insertions(+) create mode 100644 railties/lib/console_with_helpers.rb (limited to 'railties') diff --git a/railties/CHANGELOG b/railties/CHANGELOG index ed2562e136..ce65b38f28 100644 --- a/railties/CHANGELOG +++ b/railties/CHANGELOG @@ -1,5 +1,15 @@ *SVN* +* Make all ActionView helpers available in the console for debugging purposes. n.b.: Only an 80% solution. Some stuff won't work, most will. [Marcel Molina Jr.] + + ex. + + >> puts options_for_select([%w(a 1), %w(b 2), %w(c 3)]) + + + + => nil + * Replaced old session rake tasks with db:sessions:create to generate a migration, and db:sessions:clear to remove sessions. [Rick Olson] * Reject Ruby 1.8.3 when loading Rails; extract version checking code. [Chad Fowler] diff --git a/railties/lib/commands/console.rb b/railties/lib/commands/console.rb index 3ea1107445..3cc9fcbdb1 100644 --- a/railties/lib/commands/console.rb +++ b/railties/lib/commands/console.rb @@ -13,6 +13,7 @@ libs = " -r irb/completion" libs << " -r #{RAILS_ROOT}/config/environment" libs << " -r console_app" libs << " -r console_sandbox" if options[:sandbox] +libs << " -r console_with_helpers" ENV['RAILS_ENV'] = ARGV.first || ENV['RAILS_ENV'] || 'development' if options[:sandbox] diff --git a/railties/lib/console_with_helpers.rb b/railties/lib/console_with_helpers.rb new file mode 100644 index 0000000000..cb317583e3 --- /dev/null +++ b/railties/lib/console_with_helpers.rb @@ -0,0 +1,15 @@ +module Kernel + def include_all_modules_from(parent_module) + parent_module.constants.each do |const| + mod = parent_module.const_get(const) + if mod.class == Module + send(:include, mod) + include_all_modules_from(mod) + end + end + end +end + +require 'application' +@controller = ApplicationController.new +include_all_modules_from ActionView -- cgit v1.2.3