<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>activesupport/lib/active_support/all.rb</filename>
    </added>
    <added>
      <filename>activesupport/lib/active_support/time.rb</filename>
    </added>
    <added>
      <filename>activesupport/lib/active_support/time/autoload.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,6 +1,7 @@
 require 'yaml'
 require 'set'
 require 'active_support/dependencies'
+require 'active_support/time'
 require 'active_support/core_ext/class/attribute_accessors'
 require 'active_support/core_ext/class/delegating_attributes'
 require 'active_support/core_ext/class/inheritable_attributes'
@@ -10,7 +11,6 @@ require 'active_support/core_ext/hash/indifferent_access'
 require 'active_support/core_ext/hash/slice'
 require 'active_support/core_ext/string/behavior'
 require 'active_support/core_ext/symbol'
-require 'active_support/core/time'
 
 module ActiveRecord #:nodoc:
   # Generic Active Record exception class.</diff>
      <filename>activerecord/lib/active_record/base.rb</filename>
    </modified>
    <modified>
      <diff>@@ -22,8 +22,15 @@
 #++
 
 module ActiveSupport
-  def self.load_all!
-    [Dependencies, Deprecation, Gzip, MessageVerifier, Multibyte, SecureRandom] + Core.load_all!
+  class &lt;&lt; self
+    attr_accessor :load_all_hooks
+    def on_load_all(&amp;hook) load_all_hooks &lt;&lt; hook end
+    def load_all!; load_all_hooks.each { |hook| hook.call } end
+  end
+  self.load_all_hooks = []
+
+  on_load_all do
+    [Dependencies, Deprecation, Gzip, MessageVerifier, Multibyte, SecureRandom]
   end
 
   autoload :BacktraceCleaner, 'active_support/backtrace_cleaner'</diff>
      <filename>activesupport/lib/active_support.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,7 @@
-require 'date'
+require 'active_support/time'
 require 'active_support/core_ext/object/conversions'
 require 'active_support/core_ext/array/conversions'
 require 'active_support/core_ext/hash/reverse_merge'
-require 'active_support/core/time'
 
 class Hash
   # This module exists to decorate files deserialized using Hash.from_xml with</diff>
      <filename>activesupport/lib/active_support/core_ext/hash/conversions.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 require 'abstract_unit'
-require 'active_support/core/time'
+require 'active_support/time'
 
 class DurationTest &lt; ActiveSupport::TestCase
   def test_inspect</diff>
      <filename>activesupport/test/core_ext/duration_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 require 'abstract_unit'
+require 'active_support/time'
 require 'active_support/core_ext/numeric'
 require 'active_support/core_ext/integer'
-require 'active_support/core/time'
 
 class NumericExtTimeAndDateTimeTest &lt; Test::Unit::TestCase
   def setup</diff>
      <filename>activesupport/test/core_ext/numeric_ext_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 require 'abstract_unit'
+require 'active_support/time'
 require 'active_support/core_ext/object'
 require 'active_support/core_ext/class/removal'
-require 'active_support/core/time'
 
 class ClassA; end
 class ClassB &lt; ClassA; end</diff>
      <filename>activesupport/test/core_ext/object_and_class_ext_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 require 'abstract_unit'
-require 'active_support/core/time'
+require 'active_support/time'
 
 class TimeExtCalculationsTest &lt; Test::Unit::TestCase
   def test_seconds_since_midnight</diff>
      <filename>activesupport/test/core_ext/time_ext_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 require 'abstract_unit'
-require 'active_support/core/time'
+require 'active_support/time'
 require 'active_support/core_ext/array/conversions'
 
 class I18nTest &lt; Test::Unit::TestCase</diff>
      <filename>activesupport/test/i18n_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 require 'abstract_unit'
-require 'active_support/core/time'
+require 'active_support/time'
 
 class TimeZoneTest &lt; Test::Unit::TestCase
   def test_utc_to_local</diff>
      <filename>activesupport/test/time_zone_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,4 @@
-require 'active_support'
-require 'active_support/core/all'
+require 'active_support/all'
 require 'active_support/test_case'
 require 'action_controller'
 </diff>
      <filename>railties/lib/console_app.rb</filename>
    </modified>
    <modified>
      <diff>@@ -263,9 +263,8 @@ module Rails
     # list. By default, all frameworks (Active Record, Active Support,
     # Action Pack, Action Mailer, and Active Resource) are loaded.
     def require_frameworks
-      require 'active_support'
+      require 'active_support/all'
       configuration.frameworks.each { |framework| require(framework.to_s) }
-      require 'active_support/core/all'
     rescue LoadError =&gt; e
       # Re-raise as RuntimeError because Mongrel would swallow LoadError.
       raise e.to_s</diff>
      <filename>railties/lib/initializer.rb</filename>
    </modified>
    <modified>
      <diff>@@ -21,16 +21,9 @@
 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #++
 
-begin
-  require 'active_support'
-rescue LoadError
-  activesupport_path = &quot;#{File.dirname(__FILE__)}/../../activesupport/lib&quot;
-  if File.directory?(activesupport_path)
-    $:.unshift activesupport_path
-    require 'active_support'
-  end
-end
-require 'active_support/core/all'
+activesupport_path = &quot;#{File.dirname(__FILE__)}/../../activesupport/lib&quot;
+$:.unshift(activesupport_path) if File.directory?(activesupport_path)
+require 'active_support/all'
 
 $:.unshift(File.dirname(__FILE__))
 require 'rails_generator/base'</diff>
      <filename>railties/lib/rails_generator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -31,7 +31,7 @@ namespace :time do
     desc 'Displays names of time zones recognized by the Rails TimeZone class with the same offset as the system local time'
     task :local do
       require 'active_support'
-      require 'active_support/core/time'
+      require 'active_support/time'
       jan_offset = Time.now.beginning_of_year.utc_offset
       jul_offset = Time.now.beginning_of_year.change(:month =&gt; 7).utc_offset
       offset = jan_offset &lt; jul_offset ? jan_offset : jul_offset
@@ -41,7 +41,7 @@ namespace :time do
     # to find UTC -06:00 zones, OFFSET can be set to either -6, -6:00 or 21600
     def build_time_zone_list(method, offset = ENV['OFFSET'])
       require 'active_support'
-      require 'active_support/core/time'
+      require 'active_support/time'
       if offset
         offset = if offset.to_s.match(/(\+|-)?(\d+):(\d+)/)
           sign = $1 == '-' ? -1 : 1</diff>
      <filename>railties/lib/tasks/misc.rake</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>activesupport/lib/active_support/core.rb</filename>
    </removed>
    <removed>
      <filename>activesupport/lib/active_support/core/all.rb</filename>
    </removed>
    <removed>
      <filename>activesupport/lib/active_support/core/time.rb</filename>
    </removed>
    <removed>
      <filename>activesupport/lib/active_support/core/time/autoload.rb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>3694227f24d0f220c0ce7ef6c7f51598e2715d2d</id>
    </parent>
  </parents>
  <author>
    <name>Jeremy Kemper</name>
    <email>jeremy@bitsweat.net</email>
  </author>
  <url>http://github.com/technoweenie/rails/commit/5f222c524ed00b2ac805e267f70a916cf8f9bc77</url>
  <id>5f222c524ed00b2ac805e267f70a916cf8f9bc77</id>
  <committed-date>2009-05-20T18:12:44-07:00</committed-date>
  <authored-date>2009-05-20T17:11:41-07:00</authored-date>
  <message>Remove 'core' fluff. Hookable ActiveSupport.load_all!</message>
  <tree>1689d5d964cccc5a902449dd9de86705f831a5d8</tree>
  <committer>
    <name>Jeremy Kemper</name>
    <email>jeremy@bitsweat.net</email>
  </committer>
</commit>
