From e749424dfa38a0300a621b772eae96f9cc5d2555 Mon Sep 17 00:00:00 2001
From: Carl Lerche <carllerche@mac.com>
Date: Thu, 31 Dec 2009 12:28:48 -0800
Subject: Rename rails.rb -> rails/all.rb and rails/core.rb -> rails.rb

---
 actionmailer/lib/action_mailer/rails.rb            |   1 +
 actionpack/lib/action_controller/rails.rb          |   1 +
 actionpack/lib/action_view/rails.rb                |   3 +-
 activemodel/lib/active_model/rails.rb              |   3 +-
 activerecord/lib/active_record/rails.rb            |   1 +
 activeresource/lib/active_resource/rails.rb        |   3 +-
 railties/lib/rails.rb                              | 118 ++++++++++++++++++---
 railties/lib/rails/all.rb                          |  15 +++
 railties/lib/rails/core.rb                         | 105 ------------------
 .../generators/rails/app/templates/config/boot.rb  |   9 +-
 railties/test/abstract_unit.rb                     |   2 +-
 railties/test/application/generators_test.rb       |   2 +-
 .../test/initializer/check_ruby_version_test.rb    |   4 +-
 railties/test/initializer/path_test.rb             |   2 +-
 railties/test/isolation/abstract_unit.rb           |   2 +-
 railties/test/plugins/configuration_test.rb        |   2 +-
 railties/test/plugins/framework_extension_test.rb  |   2 +-
 17 files changed, 140 insertions(+), 135 deletions(-)
 create mode 100644 railties/lib/rails/all.rb
 delete mode 100644 railties/lib/rails/core.rb

diff --git a/actionmailer/lib/action_mailer/rails.rb b/actionmailer/lib/action_mailer/rails.rb
index a3573cdea7..5389f243e5 100644
--- a/actionmailer/lib/action_mailer/rails.rb
+++ b/actionmailer/lib/action_mailer/rails.rb
@@ -1,4 +1,5 @@
 require "action_mailer"
+require "rails"
 
 module ActionMailer
   class Plugin < Rails::Plugin
diff --git a/actionpack/lib/action_controller/rails.rb b/actionpack/lib/action_controller/rails.rb
index d4faca2681..4d3ca43f99 100644
--- a/actionpack/lib/action_controller/rails.rb
+++ b/actionpack/lib/action_controller/rails.rb
@@ -1,4 +1,5 @@
 require "action_controller"
+require "rails"
 
 module ActionController
   class Plugin < Rails::Plugin
diff --git a/actionpack/lib/action_view/rails.rb b/actionpack/lib/action_view/rails.rb
index cae39382b8..a90e0636b9 100644
--- a/actionpack/lib/action_view/rails.rb
+++ b/actionpack/lib/action_view/rails.rb
@@ -1 +1,2 @@
-require "action_view"
\ No newline at end of file
+require "action_view"
+require "rails"
\ No newline at end of file
diff --git a/activemodel/lib/active_model/rails.rb b/activemodel/lib/active_model/rails.rb
index 01ed75729a..63ffe5db63 100644
--- a/activemodel/lib/active_model/rails.rb
+++ b/activemodel/lib/active_model/rails.rb
@@ -1 +1,2 @@
-require "active_model"
\ No newline at end of file
+require "active_model"
+require "rails"
\ No newline at end of file
diff --git a/activerecord/lib/active_record/rails.rb b/activerecord/lib/active_record/rails.rb
index 8e9ba041fd..f628c3ace0 100644
--- a/activerecord/lib/active_record/rails.rb
+++ b/activerecord/lib/active_record/rails.rb
@@ -4,6 +4,7 @@
 # In the future, this might become an optional require.
 require "active_record"
 require "action_controller/rails"
+require "rails"
 
 module ActiveRecord
   class Plugin < Rails::Plugin
diff --git a/activeresource/lib/active_resource/rails.rb b/activeresource/lib/active_resource/rails.rb
index e73444e6e7..4f264c82b8 100644
--- a/activeresource/lib/active_resource/rails.rb
+++ b/activeresource/lib/active_resource/rails.rb
@@ -1 +1,2 @@
-require "active_resource"
\ No newline at end of file
+require "active_resource"
+require "rails"
\ No newline at end of file
diff --git a/railties/lib/rails.rb b/railties/lib/rails.rb
index 68b451d813..ab95edc676 100644
--- a/railties/lib/rails.rb
+++ b/railties/lib/rails.rb
@@ -1,15 +1,105 @@
-require "rails/core"
-
-%w(
-  active_model
-  active_record
-  action_controller
-  action_view
-  action_mailer
-  active_resource
-).each do |framework|
-  begin
-    require "#{framework}/rails"
-  rescue LoadError
+require "pathname"
+
+require 'active_support'
+require 'active_support/core_ext/kernel/reporting'
+require 'active_support/core_ext/logger'
+require 'action_dispatch'
+
+require 'rails/initializable'
+require 'rails/application'
+require 'rails/plugin'
+require 'rails/railties_path'
+require 'rails/version'
+require 'rails/rack'
+require 'rails/paths'
+require 'rails/configuration'
+require 'rails/deprecation'
+require 'rails/ruby_version_check'
+
+# For Ruby 1.8, this initialization sets $KCODE to 'u' to enable the
+# multibyte safe operations. Plugin authors supporting other encodings
+# should override this behaviour and set the relevant +default_charset+
+# on ActionController::Base.
+#
+# For Ruby 1.9, UTF-8 is the default internal and external encoding.
+if RUBY_VERSION < '1.9'
+  $KCODE='u'
+else
+  Encoding.default_external = Encoding::UTF_8
+end
+
+RAILS_ENV = (ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development").dup unless defined?(RAILS_ENV)
+
+module Rails
+  # Needs to be duplicated from Active Support since its needed before Active
+  # Support is available. Here both Options and Hash are namespaced to prevent
+  # conflicts with other implementations AND with the classes residing in Active Support.
+  # ---
+  # TODO: w0t?
+  class << self
+    def application
+      @@application ||= nil
+    end
+
+    def application=(application)
+      @@application = application
+    end
+
+    # The Configuration instance used to configure the Rails environment
+    def configuration
+      application.configuration
+    end
+
+    def initialize!
+      application.initialize!
+    end
+
+    def initialized?
+      @initialized || false
+    end
+
+    def initialized=(initialized)
+      @initialized ||= initialized
+    end
+
+    def logger
+      if defined?(RAILS_DEFAULT_LOGGER)
+        RAILS_DEFAULT_LOGGER
+      else
+        nil
+      end
+    end
+
+    def backtrace_cleaner
+      @@backtrace_cleaner ||= begin
+        # Relies on ActiveSupport, so we have to lazy load to postpone definition until AS has been loaded
+        require 'rails/backtrace_cleaner'
+        Rails::BacktraceCleaner.new
+      end
+    end
+
+    def root
+      application && application.config.root
+    end
+
+    def env
+      @_env ||= ActiveSupport::StringInquirer.new(RAILS_ENV)
+    end
+
+    def cache
+      RAILS_CACHE
+    end
+
+    def version
+      VERSION::STRING
+    end
+
+    def public_path
+      @@public_path ||= self.root ? File.join(self.root, "public") : "public"
+    end
+
+    def public_path=(path)
+      @@public_path = path
+    end
   end
-end
\ No newline at end of file
+end
diff --git a/railties/lib/rails/all.rb b/railties/lib/rails/all.rb
new file mode 100644
index 0000000000..a1ad72e98d
--- /dev/null
+++ b/railties/lib/rails/all.rb
@@ -0,0 +1,15 @@
+require "rails"
+
+%w(
+  active_model
+  active_record
+  action_controller
+  action_view
+  action_mailer
+  active_resource
+).each do |framework|
+  begin
+    require "#{framework}/rails"
+  rescue LoadError
+  end
+end
\ No newline at end of file
diff --git a/railties/lib/rails/core.rb b/railties/lib/rails/core.rb
deleted file mode 100644
index ab95edc676..0000000000
--- a/railties/lib/rails/core.rb
+++ /dev/null
@@ -1,105 +0,0 @@
-require "pathname"
-
-require 'active_support'
-require 'active_support/core_ext/kernel/reporting'
-require 'active_support/core_ext/logger'
-require 'action_dispatch'
-
-require 'rails/initializable'
-require 'rails/application'
-require 'rails/plugin'
-require 'rails/railties_path'
-require 'rails/version'
-require 'rails/rack'
-require 'rails/paths'
-require 'rails/configuration'
-require 'rails/deprecation'
-require 'rails/ruby_version_check'
-
-# For Ruby 1.8, this initialization sets $KCODE to 'u' to enable the
-# multibyte safe operations. Plugin authors supporting other encodings
-# should override this behaviour and set the relevant +default_charset+
-# on ActionController::Base.
-#
-# For Ruby 1.9, UTF-8 is the default internal and external encoding.
-if RUBY_VERSION < '1.9'
-  $KCODE='u'
-else
-  Encoding.default_external = Encoding::UTF_8
-end
-
-RAILS_ENV = (ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development").dup unless defined?(RAILS_ENV)
-
-module Rails
-  # Needs to be duplicated from Active Support since its needed before Active
-  # Support is available. Here both Options and Hash are namespaced to prevent
-  # conflicts with other implementations AND with the classes residing in Active Support.
-  # ---
-  # TODO: w0t?
-  class << self
-    def application
-      @@application ||= nil
-    end
-
-    def application=(application)
-      @@application = application
-    end
-
-    # The Configuration instance used to configure the Rails environment
-    def configuration
-      application.configuration
-    end
-
-    def initialize!
-      application.initialize!
-    end
-
-    def initialized?
-      @initialized || false
-    end
-
-    def initialized=(initialized)
-      @initialized ||= initialized
-    end
-
-    def logger
-      if defined?(RAILS_DEFAULT_LOGGER)
-        RAILS_DEFAULT_LOGGER
-      else
-        nil
-      end
-    end
-
-    def backtrace_cleaner
-      @@backtrace_cleaner ||= begin
-        # Relies on ActiveSupport, so we have to lazy load to postpone definition until AS has been loaded
-        require 'rails/backtrace_cleaner'
-        Rails::BacktraceCleaner.new
-      end
-    end
-
-    def root
-      application && application.config.root
-    end
-
-    def env
-      @_env ||= ActiveSupport::StringInquirer.new(RAILS_ENV)
-    end
-
-    def cache
-      RAILS_CACHE
-    end
-
-    def version
-      VERSION::STRING
-    end
-
-    def public_path
-      @@public_path ||= self.root ? File.join(self.root, "public") : "public"
-    end
-
-    def public_path=(path)
-      @@public_path = path
-    end
-  end
-end
diff --git a/railties/lib/rails/generators/rails/app/templates/config/boot.rb b/railties/lib/rails/generators/rails/app/templates/config/boot.rb
index e4ecd2dcde..6051a8104f 100644
--- a/railties/lib/rails/generators/rails/app/templates/config/boot.rb
+++ b/railties/lib/rails/generators/rails/app/templates/config/boot.rb
@@ -13,12 +13,11 @@ else
   require 'rubygems'
 end
 
-require 'rails'
-# To skip frameworks you're not going to use, change require "rails"
-# to require "rails/core" and list the frameworks that you are going
-# to use.
+require 'rails/all'
+# To pick the frameworks you want, remove 'require "rails/all"'
+# and list the frameworks that you want:
 #
-# require "rails/core"
+# require "rails"
 # require "active_model/rails"
 # require "active_record/rails"
 # require "action_controller/rails"
diff --git a/railties/test/abstract_unit.rb b/railties/test/abstract_unit.rb
index 66ab5a08c3..2d6983076a 100644
--- a/railties/test/abstract_unit.rb
+++ b/railties/test/abstract_unit.rb
@@ -20,7 +20,7 @@ require 'active_support/core_ext/logger'
 require 'active_support/test_case'
 
 require 'action_controller'
-require 'rails'
+require 'rails/all'
 
 # TODO: Remove these hacks
 class TestApp < Rails::Application
diff --git a/railties/test/application/generators_test.rb b/railties/test/application/generators_test.rb
index 7b27c780aa..0c858d6394 100644
--- a/railties/test/application/generators_test.rb
+++ b/railties/test/application/generators_test.rb
@@ -14,7 +14,7 @@ module ApplicationTests
     end
 
     def with_config
-      require "rails"
+      require "rails/all"
       require "rails/generators"
       yield app_const.config
     end
diff --git a/railties/test/initializer/check_ruby_version_test.rb b/railties/test/initializer/check_ruby_version_test.rb
index a2c07ece75..311f19a28a 100644
--- a/railties/test/initializer/check_ruby_version_test.rb
+++ b/railties/test/initializer/check_ruby_version_test.rb
@@ -19,14 +19,14 @@ module InitializerTests
 
     def assert_rails_boots
       assert_nothing_raised "It appears that rails does not boot" do
-        require "rails"
+        require "rails/all"
       end
     end
 
     def assert_rails_does_not_boot
       $stderr = File.open("/dev/null", "w")
       assert_raises(SystemExit) do
-        require "rails"
+        require "rails/all"
       end
     end
   end
diff --git a/railties/test/initializer/path_test.rb b/railties/test/initializer/path_test.rb
index 73d1b1a125..26663d0f47 100644
--- a/railties/test/initializer/path_test.rb
+++ b/railties/test/initializer/path_test.rb
@@ -14,7 +14,7 @@ module InitializerTests
         end
       RUBY
       use_frameworks [:action_controller, :action_view, :action_mailer, :active_record]
-      require "rails"
+      require "rails/all"
       require "#{app_path}/config/environment"
       @paths = Rails.application.config.paths
     end
diff --git a/railties/test/isolation/abstract_unit.rb b/railties/test/isolation/abstract_unit.rb
index ee0a812b47..dc5fddb19d 100644
--- a/railties/test/isolation/abstract_unit.rb
+++ b/railties/test/isolation/abstract_unit.rb
@@ -207,6 +207,6 @@ Module.new do
   `#{Gem.ruby} #{require_environment} #{RAILS_FRAMEWORK_ROOT}/railties/bin/rails #{tmp_path('app_template')}`
   File.open("#{tmp_path}/app_template/config/boot.rb", 'w') do |f|
     f.puts "require '#{environment}'" if require_environment
-    f.puts "require 'rails'"
+    f.puts "require 'rails/all'"
   end
 end
diff --git a/railties/test/plugins/configuration_test.rb b/railties/test/plugins/configuration_test.rb
index 5786316d1d..9616d1b2d0 100644
--- a/railties/test/plugins/configuration_test.rb
+++ b/railties/test/plugins/configuration_test.rb
@@ -5,7 +5,7 @@ module PluginsTest
     def setup
       build_app
       boot_rails
-      require "rails"
+      require "rails/all"
     end
 
     test "config is available to plugins" do
diff --git a/railties/test/plugins/framework_extension_test.rb b/railties/test/plugins/framework_extension_test.rb
index a6c7b753f8..86e5cebfcd 100644
--- a/railties/test/plugins/framework_extension_test.rb
+++ b/railties/test/plugins/framework_extension_test.rb
@@ -7,7 +7,7 @@ module PluginsTest
     def setup
       build_app
       boot_rails
-      require "rails"
+      require "rails/all"
     end
 
     test "rake_tasks block is executed when MyApp.load_tasks is called" do
-- 
cgit v1.2.3