<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>config/initializers/inflections.rb</filename>
    </added>
    <added>
      <filename>config/initializers/mime_types.rb</filename>
    </added>
    <added>
      <filename>config/initializers/new_rails_defaults.rb</filename>
    </added>
    <added>
      <filename>public/422.html</filename>
    </added>
    <added>
      <filename>script/dbconsole</filename>
    </added>
    <added>
      <filename>script/performance/request</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,46 +1,109 @@
-# Don't change this file. Configuration is done in config/environment.rb and config/environments/*.rb
+# Don't change this file!
+# Configure your app in config/environment.rb and config/environments/*.rb
 
-unless defined?(RAILS_ROOT)
-  root_path = File.join(File.dirname(__FILE__), '..')
+RAILS_ROOT = &quot;#{File.dirname(__FILE__)}/..&quot; unless defined?(RAILS_ROOT)
 
-  unless RUBY_PLATFORM =~ /(:?mswin|mingw)/
-    require 'pathname'
-    root_path = Pathname.new(root_path).cleanpath(true).to_s
-  end
+module Rails
+  class &lt;&lt; self
+    def boot!
+      unless booted?
+        preinitialize
+        pick_boot.run
+      end
+    end
 
-  RAILS_ROOT = root_path
-end
+    def booted?
+      defined? Rails::Initializer
+    end
 
-unless defined?(Rails::Initializer)
-  if File.directory?(&quot;#{RAILS_ROOT}/vendor/rails&quot;)
-    require &quot;#{RAILS_ROOT}/vendor/rails/railties/lib/initializer&quot;
-  else
-    require 'rubygems'
+    def pick_boot
+      (vendor_rails? ? VendorBoot : GemBoot).new
+    end
+
+    def vendor_rails?
+      File.exist?(&quot;#{RAILS_ROOT}/vendor/rails&quot;)
+    end
 
-    environment_without_comments = IO.readlines(File.dirname(__FILE__) + '/environment.rb').reject { |l| l =~ /^#/ }.join
-    environment_without_comments =~ /[^#]RAILS_GEM_VERSION = '([\d.]+)'/
-    rails_gem_version = $1
+    def preinitialize
+      load(preinitializer_path) if File.exist?(preinitializer_path)
+    end
+
+    def preinitializer_path
+      &quot;#{RAILS_ROOT}/config/preinitializer.rb&quot;
+    end
+  end
+
+  class Boot
+    def run
+      load_initializer
+      Rails::Initializer.run(:set_load_path)
+    end
+  end
+
+  class VendorBoot &lt; Boot
+    def load_initializer
+      require &quot;#{RAILS_ROOT}/vendor/rails/railties/lib/initializer&quot;
+      Rails::Initializer.run(:install_gem_spec_stubs)
+    end
+  end
 
-    if version = defined?(RAILS_GEM_VERSION) ? RAILS_GEM_VERSION : rails_gem_version
-      # Asking for 1.1.6 will give you 1.1.6.5206, if available -- makes it easier to use beta gems
-      rails_gem = Gem.cache.search('rails', &quot;~&gt;#{version}.0&quot;).sort_by { |g| g.version.version }.last
+  class GemBoot &lt; Boot
+    def load_initializer
+      self.class.load_rubygems
+      load_rails_gem
+      require 'initializer'
+    end
 
-      if rails_gem
-        gem &quot;rails&quot;, &quot;=#{rails_gem.version.version}&quot;
-        require rails_gem.full_gem_path + '/lib/initializer'
+    def load_rails_gem
+      if version = self.class.gem_version
+        gem 'rails', version
       else
-        STDERR.puts %(Cannot find gem for Rails ~&gt;#{version}.0:
-    Install the missing gem with 'gem install -v=#{version} rails', or
-    change environment.rb to define RAILS_GEM_VERSION with your desired version.
-  )
+        gem 'rails'
+      end
+    rescue Gem::LoadError =&gt; load_error
+      $stderr.puts %(Missing the Rails #{version} gem. Please `gem install -v=#{version} rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.)
+      exit 1
+    end
+
+    class &lt;&lt; self
+      def rubygems_version
+        Gem::RubyGemsVersion if defined? Gem::RubyGemsVersion
+      end
+
+      def gem_version
+        if defined? RAILS_GEM_VERSION
+          RAILS_GEM_VERSION
+        elsif ENV.include?('RAILS_GEM_VERSION')
+          ENV['RAILS_GEM_VERSION']
+        else
+          parse_gem_version(read_environment_rb)
+        end
+      end
+
+      def load_rubygems
+        require 'rubygems'
+
+        unless rubygems_version &gt;= '0.9.4'
+          $stderr.puts %(Rails requires RubyGems &gt;= 0.9.4 (you have #{rubygems_version}). Please `gem update --system` and try again.)
+          exit 1
+        end
+
+      rescue LoadError
+        $stderr.puts %(Rails requires RubyGems &gt;= 0.9.4. Please install RubyGems and try again: http://rubygems.rubyforge.org)
         exit 1
       end
-    else
-      gem &quot;rails&quot;
-      require 'initializer'
+
+      def parse_gem_version(text)
+        $1 if text =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*[&quot;']([!~&lt;&gt;=]*\s*[\d.]+)[&quot;']/
+      end
+
+      private
+        def read_environment_rb
+          File.read(&quot;#{RAILS_ROOT}/config/environment.rb&quot;)
+        end
     end
   end
-  require 'yaml'
-  Rails::Initializer.run(:set_load_path)
-  APP_CONFIG = YAML.load_file(&quot;#{RAILS_ROOT}/config/config.yml&quot;)[RAILS_ENV]
 end
+
+# All that for this:
+Rails.boot!</diff>
      <filename>config/boot.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,18 +1,67 @@
-RAILS_GEM_VERSION = '2.0.2'
-ENV['RAILS_ENV'] ||= 'production'
+# Be sure to restart your server when you modify this file
 
+# Uncomment below to force Rails into production mode when
+# you don't control web/app server and can't set it the proper way
+# ENV['RAILS_ENV'] ||= 'production'
+
+# Specifies gem version of Rails to use when vendor/rails is not present
+RAILS_GEM_VERSION = '2.1.0' unless defined? RAILS_GEM_VERSION
+
+# Bootstrap the Rails environment, frameworks, and default configuration
 require File.join(File.dirname(__FILE__), 'boot')
 
 Rails::Initializer.run do |config|
-  config.action_controller.session = { :session_key =&gt; &quot;_myapp_session&quot;, :secret =&gt; &quot;some secret phrase of at least 30 characters&quot; }
-  config.load_paths += Dir[&quot;#{RAILS_ROOT}/vendor/gems/**&quot;].map do |dir| 
-    File.directory?(lib = &quot;#{dir}/lib&quot;) ? lib : dir
-  end
-end
+  # Settings in config/environments/* take precedence over those specified here.
+  # Application configuration should go into files in config/initializers
+  # -- all .rb files in that directory are automatically loaded.
+  # See Rails::Configuration for more options.
+
+  # Skip frameworks you're not going to use. To use Rails without a database
+  # you must remove the Active Record framework.
+  # config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
+
+  # Specify gems that this application depends on. 
+  # They can then be installed with &quot;rake gems:install&quot; on new installations.
+  # config.gem &quot;bj&quot;
+  # config.gem &quot;hpricot&quot;, :version =&gt; '0.6', :source =&gt; &quot;http://code.whytheluckystiff.net&quot;
+  # config.gem &quot;aws-s3&quot;, :lib =&gt; &quot;aws/s3&quot;
+
+  # Only load the plugins named here, in the order given. By default, all plugins 
+  # in vendor/plugins are loaded in alphabetical order.
+  # :all can be used as a placeholder for all plugins not explicitly named
+  # config.plugins = [ :exception_notification, :ssl_requirement, :all ]
 
-require('twitter')
-require('twitter/console')
+  # Add additional load paths for your own custom dirs
+  # config.load_paths += %W( #{RAILS_ROOT}/extras )
 
-twitter_config =  File.join(File.dirname(__FILE__), '..', 'config', 'twitter.yml')
-TWITTER        = Twitter::Client.from_config(twitter_config)
+  # Force all environments to use the same logger level
+  # (by default production uses :info, the others :debug)
+  # config.log_level = :debug
 
+  # Make Time.zone default to the specified zone, and make Active Record store time values
+  # in the database in UTC, and return them converted to the specified local zone.
+  # Run &quot;rake -D time&quot; for a list of tasks for finding time zone names. Uncomment to use default local time.
+  config.time_zone = 'UTC'
+
+  # Your secret key for verifying cookie session data integrity.
+  # If you change this key, all old sessions will become invalid!
+  # Make sure the secret is at least 30 characters and all random, 
+  # no regular words or you'll be exposed to dictionary attacks.
+  config.action_controller.session = {
+    :session_key =&gt; '_bookqueue_session',
+    :secret      =&gt; '19a72d0ed7a6265bcf61e40c67e6deb41b6cd053f43afb4452d523ff84bd8a6148dfd062c1a1350f34269603c7630d7e4f359335c28115eb0f1726ce17f15496'
+  }
+
+  # Use the database for sessions instead of the cookie-based default,
+  # which shouldn't be used to store highly confidential information
+  # (create the session table with &quot;rake db:sessions:create&quot;)
+  # config.action_controller.session_store = :active_record_store
+
+  # Use SQL instead of Active Record's schema dumper when creating the test database.
+  # This is necessary if your schema can't be completely dumped by the schema dumper,
+  # like if you have constraints or database-specific column types
+  # config.active_record.schema_format = :sql
+
+  # Activate observers that should always be running
+  # config.active_record.observers = :cacher, :garbage_collector
+end</diff>
      <filename>config/environment.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,14 +8,10 @@ config.cache_classes = false
 # Log error messages when you accidentally call methods on nil.
 config.whiny_nils = true
 
-# Enable the breakpoint server that script/breakpointer connects to
-#config.breakpoint_server = true
-
 # Show full error reports and disable caching
 config.action_controller.consider_all_requests_local = true
-config.action_controller.perform_caching             = false
-config.action_view.cache_template_extensions         = false
 config.action_view.debug_rjs                         = true
+config.action_controller.perform_caching             = false
 
 # Don't care if the mailer can't send
 config.action_mailer.raise_delivery_errors = false
\ No newline at end of file</diff>
      <filename>config/environments/development.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,9 +10,13 @@ config.cache_classes = true
 # Full error reports are disabled and caching is turned on
 config.action_controller.consider_all_requests_local = false
 config.action_controller.perform_caching             = true
+config.action_view.cache_template_loading            = true
+
+# Use a different cache store in production
+# config.cache_store = :mem_cache_store
 
 # Enable serving of images, stylesheets, and javascripts from an asset server
 # config.action_controller.asset_host                  = &quot;http://assets.example.com&quot;
 
 # Disable delivery errors, bad email addresses will be ignored
-# config.action_mailer.raise_delivery_errors = false
\ No newline at end of file
+# config.action_mailer.raise_delivery_errors = false</diff>
      <filename>config/environments/production.rb</filename>
    </modified>
    <modified>
      <diff>@@ -13,7 +13,10 @@ config.whiny_nils = true
 config.action_controller.consider_all_requests_local = true
 config.action_controller.perform_caching             = false
 
-# Tell ActionMailer not to deliver emails to the real world.
+# Disable request forgery protection in test environment
+config.action_controller.allow_forgery_protection    = false
+
+# Tell Action Mailer not to deliver emails to the real world.
 # The :test delivery method accumulates sent emails in the
 # ActionMailer::Base.deliveries array.
-config.action_mailer.delivery_method = :test
\ No newline at end of file
+config.action_mailer.delivery_method = :test</diff>
      <filename>config/environments/test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,3 @@
 #!/usr/bin/env ruby
 require File.dirname(__FILE__) + '/../config/boot'
-require 'commands/about'
\ No newline at end of file
+require 'commands/about'</diff>
      <filename>script/about</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,3 @@
 #!/usr/bin/env ruby
 require File.dirname(__FILE__) + '/../config/boot'
-require 'commands/console'
\ No newline at end of file
+require 'commands/console'</diff>
      <filename>script/console</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,3 @@
 #!/usr/bin/env ruby
 require File.dirname(__FILE__) + '/../config/boot'
-require 'commands/destroy'
\ No newline at end of file
+require 'commands/destroy'</diff>
      <filename>script/destroy</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,3 @@
 #!/usr/bin/env ruby
 require File.dirname(__FILE__) + '/../config/boot'
-require 'commands/generate'
\ No newline at end of file
+require 'commands/generate'</diff>
      <filename>script/generate</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,3 @@
 #!/usr/bin/env ruby
 require File.dirname(__FILE__) + '/../config/boot'
-require 'commands/plugin'
\ No newline at end of file
+require 'commands/plugin'</diff>
      <filename>script/plugin</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,3 @@
 #!/usr/bin/env ruby
 require File.dirname(__FILE__) + '/../config/boot'
-require 'commands/runner'
\ No newline at end of file
+require 'commands/runner'</diff>
      <filename>script/runner</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,3 @@
 #!/usr/bin/env ruby
 require File.dirname(__FILE__) + '/../config/boot'
-require 'commands/server'
\ No newline at end of file
+require 'commands/server'</diff>
      <filename>script/server</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>7be79a2cd152325f6f82c9c9753f6f161520b89c</id>
    </parent>
  </parents>
  <author>
    <name>rodrigo franco (caffo)</name>
    <email>caffeine@gmail.com</email>
  </author>
  <url>http://github.com/caffo/bookqueue/commit/15e4d53520083be1ace7e1bc15355e0098feaae8</url>
  <id>15e4d53520083be1ace7e1bc15355e0098feaae8</id>
  <committed-date>2008-09-14T09:55:10-07:00</committed-date>
  <authored-date>2008-09-14T09:55:10-07:00</authored-date>
  <message>project update to 2.1</message>
  <tree>f63abd1210857b9c9732601395532da8aefdb7bc</tree>
  <committer>
    <name>rodrigo franco (caffo)</name>
    <email>caffeine@gmail.com</email>
  </committer>
</commit>
