<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -24,9 +24,8 @@ module Rails
       File.exist?(&quot;#{RAILS_ROOT}/vendor/rails&quot;)
     end
 
-    # FIXME : Ruby 1.9
     def preinitialize
-      load(preinitializer_path) if File.exists?(preinitializer_path)
+      load(preinitializer_path) if File.exist?(preinitializer_path)
     end
 
     def preinitializer_path
@@ -44,6 +43,7 @@ module Rails
   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
 
@@ -67,7 +67,7 @@ module Rails
 
     class &lt;&lt; self
       def rubygems_version
-        Gem::RubyGemsVersion if defined? Gem::RubyGemsVersion
+        Gem::RubyGemsVersion rescue nil
       end
 
       def gem_version
@@ -82,14 +82,14 @@ module Rails
 
       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.)
+        min_version = '1.3.1'
+        unless rubygems_version &gt;= min_version
+          $stderr.puts %Q(Rails requires RubyGems &gt;= #{min_version} (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)
+        $stderr.puts %Q(Rails requires RubyGems &gt;= #{min_version}. Please install RubyGems and try again: http://rubygems.rubyforge.org)
         exit 1
       end
 </diff>
      <filename>config/boot.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,20 +5,25 @@
 # ENV['RAILS_ENV'] ||= 'production'
 
 # Specifies gem version of Rails to use when vendor/rails is not present
-RAILS_GEM_VERSION = '2.1.2' unless defined? RAILS_GEM_VERSION
+RAILS_GEM_VERSION = '2.2.2' 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|
   # Gems
-  config.gem &quot;capistrano-ext&quot;, :lib =&gt; &quot;capistrano&quot;
+  #config.gem &quot;capistrano-ext&quot;, :lib =&gt; &quot;capistrano&quot;
   config.gem &quot;configatron&quot;
 
   # 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.
   config.time_zone = 'UTC'
   
+  # The internationalization framework can be changed to have another default locale (standard is :en) or more load paths.
+  # All files from config/locales/*.rb,yml are added automatically.
+  # config.i18n.load_path &lt;&lt; Dir[File.join(RAILS_ROOT, 'my', 'locales', '*.{rb,yml}')]
+  # config.i18n.default_locale = :de
+
   # 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, </diff>
      <filename>config/environment.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,7 +12,6 @@ config.whiny_nils = true
 config.action_controller.consider_all_requests_local = true
 config.action_view.debug_rjs                         = true
 config.action_controller.perform_caching             = false
-config.action_view.cache_template_extensions         = false
 
 # Don't care if the mailer can't send
 config.action_mailer.raise_delivery_errors = false</diff>
      <filename>config/environments/development.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,13 +4,15 @@
 # Code is not reloaded between requests
 config.cache_classes = true
 
+# Enable threaded mode
+# config.threadsafe!
+
 # Use a different logger for distributed setups
 # config.logger = SyslogLogger.new
 
 # 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
 
 # Enable serving of images, stylesheets, and javascripts from an asset server
 # config.action_controller.asset_host                  = &quot;http://assets.example.com&quot;</diff>
      <filename>config/environments/production.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,7 +12,6 @@ config.whiny_nils = true
 config.action_controller.consider_all_requests_local = true
 config.action_view.debug_rjs                         = true
 config.action_controller.perform_caching             = false
-config.action_view.cache_template_extensions         = false
 
 # Don't care if the mailer can't send
 config.action_mailer.raise_delivery_errors = false</diff>
      <filename>config/environments/staging.rb</filename>
    </modified>
    <modified>
      <diff>@@ -13,15 +13,9 @@ speed and saving bandwidth.
 When in development, it allows you to use your original versions 
 and retain formatting and comments for readability and debugging.
 
-Because not all browsers will dependably cache JavaScript and CSS 
-files with query string parameters, AssetPackager writes a timestamp 
-or subversion revision stamp (if available) into the merged file names. 
-Therefore files are correctly cached by the browser AND your users 
-always get the latest version when you re-deploy.
-
-This code is released under the MIT license (like Ruby). You&#8217;re free 
+This code is released under the MIT license (like Ruby). You're free 
 to rip it up, enhance it, etc. And if you make any enhancements, 
-I&#8217;d like to know so I can add them back in. Thanks!
+I'd like to know so I can add them back in. Thanks!
 
 * Formerly known as MergeJS.
 
@@ -39,22 +33,30 @@ http://www.crockford.com/javascript/jsmin.html
 
 * Merges and compresses JavaScript and CSS when running in production.
 * Uses uncompressed originals when running in development.
-* Handles caching correctly. (No querystring parameters - filename timestamps)
-* Versions each package individually. Updates to files in one won't re-trigger downloading the others.
-* Uses subversion revision numbers instead of timestamps if within a subversion controlled directory.
-* Guarantees new version will get downloaded the next time you deploy.
+* Generates packages on demand in production
 
 == Components
 
-* Rake Task for merging and compressing JavaScript and CSS files.
+* Rake tasks for managing packages
 * Helper functions for including these JavaScript and CSS files in your views.
-* YAML configuration file for mapping JavaScript and CSS files to merged versions.
+* YAML configuration file for mapping JavaScript and CSS files to packages.
 * Rake Task for auto-generating the YAML file from your existing JavaScript files.
 
+== Updates
+
+November '08:
+* Rails 2.2 compatibility fixes
+* No more mucking with internal Rails functions, which means:
+  * Return to use of query-string timestamps. Greatly simplifies things.
+  * Multiple asset-hosts supported
+  * Filenames with &quot;.&quot;'s in them, such as &quot;jquery-x.x.x&quot; are supported.
+* Now compatible with any revision control system since it no longer uses revision numbers.
+* Packages generated on demand in production mode. Running create_all rake task no longer necessary.
+
 == How to Use:
 
 1. Download and install the plugin:
-   ./script/plugin install http://sbecker.net/shared/plugins/asset_packager
+   ./script/plugin install git://github.com/sbecker/asset_packager.git
 
 2. Run the rake task &quot;asset:packager:create_yml&quot; to generate the /config/asset_packages.yml
 file the first time. You will need to reorder files under 'base' so dependencies are loaded 
@@ -64,6 +66,8 @@ IMPORTANT: JavaScript files can break once compressed if each statement doesn't
 The minifier puts multiple statements on one line, so if the semi-colon is missing, the statement may no 
 longer makes sense and cause a syntax error.
 
+== Examples of config/asset_packages.yml
+
 Example from a fresh rails app after running the rake task. (Stylesheets is blank because a 
 default rails app has no stylesheets yet.):
 
@@ -78,7 +82,7 @@ javascripts:
 stylesheets: 
 - base: []
 
-Example with multiple merged files:
+Multiple packages:
 
 ---
 javascripts:
@@ -101,8 +105,13 @@ stylesheets:
 
 3. Run the rake task &quot;asset:packager:build_all&quot; to generate the compressed, merged versions
 for each package. Whenever you rearrange the yaml file, you'll need to run this task again. 
+
 Merging and compressing is expensive, so this is something we want to do once, not every time
-your app starts. Thats why its a rake task.
+your app starts. Thats why its a rake task. You can run this task via Capistrano when deploying
+to avoid an initially slow request the first time a page is generated. 
+
+Note: The package will be generated on the fly if it doesn't yet exist, so you don't *need* 
+to run the rake task when deploying, its just recommended for speeding up initial requests.
 
 4. Use the helper functions whenever including these files in your application. See below for examples.
 
@@ -111,46 +120,43 @@ away some CSS hackery. To disable comment removal, comment out /lib/synthesis/as
 
 == JavaScript Examples
 
-Example call:  
-  &lt;%= javascript_include_merged 'prototype', 'effects', 'controls', 'dragdrop', 'application', 'foo', 'bar' %&gt;
+Example call (based on above /config/asset_packages.yml):
+  &lt;%= javascript_include_merged :base %&gt;
 
 In development, this generates: 
-  &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/prototype.js&quot;&gt;&lt;/script&gt;
-  &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/effects.js&quot;&gt;&lt;/script&gt;
-  &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/controls.js&quot;&gt;&lt;/script&gt;
-  &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/dragdrop.js&quot;&gt;&lt;/script&gt;
-  &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/application.js&quot;&gt;&lt;/script&gt;
-  &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/foo.js&quot;&gt;&lt;/script&gt;
-  &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/bar.js&quot;&gt;&lt;/script&gt;
+  &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/prototype.js?1228027240&quot;&gt;&lt;/script&gt;
+  &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/effects.js?1228027240&quot;&gt;&lt;/script&gt;
+  &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/controls.js?1228027240&quot;&gt;&lt;/script&gt;
+  &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/dragdrop.js?1228027240&quot;&gt;&lt;/script&gt;
+  &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/application.js?1228027240&quot;&gt;&lt;/script&gt;
 
 In production, this generates: 
-  &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/base_1150571523.js&quot;&gt;&lt;/script&gt;
-  &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/secondary_1150729166.js&quot;&gt;&lt;/script&gt;
-
-Now supports symbols and :defaults as well:
-  &lt;%= javascript_include_merged :defaults %&gt;
-  &lt;%= javascript_include_merged :foo, :bar %&gt;
+  &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/base_packaged.js?123456789&quot;&gt;&lt;/script&gt;
 
 == Stylesheet Examples
 
 Example call:
-  &lt;%= stylesheet_link_merged 'screen', 'header' %&gt;
+  &lt;%= stylesheet_link_merged :base %&gt;
 
 In development, this generates:
-  &lt;link href=&quot;/stylesheets/screen.css&quot; media=&quot;screen&quot; rel=&quot;Stylesheet&quot; type=&quot;text/css&quot; /&gt;
-  &lt;link href=&quot;/stylesheets/header.css&quot; media=&quot;screen&quot; rel=&quot;Stylesheet&quot; type=&quot;text/css&quot; /&gt;
+  &lt;link href=&quot;/stylesheets/screen.css?1228027240&quot; media=&quot;screen&quot; rel=&quot;Stylesheet&quot; type=&quot;text/css&quot; /&gt;
+  &lt;link href=&quot;/stylesheets/header.css?1228027240&quot; media=&quot;screen&quot; rel=&quot;Stylesheet&quot; type=&quot;text/css&quot; /&gt;
 
 In production this generates:
-  &lt;link href=&quot;/stylesheets/base_1150729166.css&quot; media=&quot;screen&quot; rel=&quot;Stylesheet&quot; type=&quot;text/css&quot; /&gt;
+  &lt;link href=&quot;/stylesheets/base_packaged.css?1228027240&quot; media=&quot;screen&quot; rel=&quot;Stylesheet&quot; type=&quot;text/css&quot; /&gt;
 
 == Different CSS Media
 
 All options for stylesheet_link_tag still work, so if you want to specify a different media type:
   &lt;%= stylesheet_link_merged :secondary, 'media' =&gt; 'print' %&gt;
 
-== Running the tests
+== Rake tasks
 
-So you want to run the tests eh? Ok, then listen:
+rake asset:packager:build_all        # Merge and compress assets
+rake asset:packager:create_yml       # Generate asset_packages.yml from existing assets
+rake asset:packager:delete_all       # Delete all asset builds
+
+== Running the tests
 
 This plugin has a full suite of tests. But since they
 depend on rails, it has to be run in the context of a
@@ -158,13 +164,12 @@ rails app, in the vendor/plugins directory. Observe:
 
 &gt; rails newtestapp
 &gt; cd newtestapp
-&gt; ./script/plugin install http://sbecker.net/shared/plugins/asset_packager
-&gt; cd vendor/plugins/asset_packager/
-&gt; rake # all tests pass
+&gt; ./script/plugin install ./script/plugin install git://github.com/sbecker/asset_packager.git
+&gt; rake test:plugins PLUGIN=asset_packager # all tests pass
 
 == License
-Copyright (c) 2006 Scott Becker - http://synthesis.sbecker.net
-Contact Email: becker.scott@gmail.com
+Copyright (c) 2006-2008 Scott Becker - http://synthesis.sbecker.net
+Contact via Github for change requests, etc.
 
 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the &quot;Software&quot;), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 </diff>
      <filename>vendor/plugins/asset_packager/README</filename>
    </modified>
    <modified>
      <diff>@@ -66,7 +66,7 @@ module Synthesis
 
       def delete_all
         @@asset_packages_yml.keys.each do |asset_type|
-          @@asset_packages_yml[asset_type].each { |p| self.new(asset_type, p).delete_all_builds }
+          @@asset_packages_yml[asset_type].each { |p| self.new(asset_type, p).delete_previous_build }
         end
       end
 
@@ -102,61 +102,38 @@ module Synthesis
       @asset_path = ($asset_base_path ? &quot;#{$asset_base_path}/&quot; : &quot;#{RAILS_ROOT}/public/&quot;) +
           &quot;#{@asset_type}#{@target_dir.gsub(/^(.+)$/, '/\1')}&quot;
       @extension = get_extension
-      @match_regex = Regexp.new(&quot;\\A#{@target}_\\d+.#{@extension}\\z&quot;)
+      @file_name = &quot;#{@target}_packaged.#{@extension}&quot;
+      @full_path = File.join(@asset_path, @file_name)
     end
   
+    def package_exists?
+      File.exists?(@full_path)
+    end
+
     def current_file
-      @target_dir.gsub(/^(.+)$/, '\1/') +
-          Dir.new(@asset_path).entries.delete_if { |x| ! (x =~ @match_regex) }.sort.reverse[0].chomp(&quot;.#{@extension}&quot;)
+      build unless package_exists?
+
+      path = @target_dir.gsub(/^(.+)$/, '\1/')
+      &quot;#{path}#{@target}_packaged&quot;
     end
 
     def build
-      delete_old_builds
+      delete_previous_build
       create_new_build
     end
-  
-    def delete_old_builds
-      Dir.new(@asset_path).entries.delete_if { |x| ! (x =~ @match_regex) }.each do |x|
-        File.delete(&quot;#{@asset_path}/#{x}&quot;) unless x.index(revision.to_s)
-      end
-    end
 
-    def delete_all_builds
-      Dir.new(@asset_path).entries.delete_if { |x| ! (x =~ @match_regex) }.each do |x|
-        File.delete(&quot;#{@asset_path}/#{x}&quot;)
-      end
+    def delete_previous_build
+      File.delete(@full_path) if File.exists?(@full_path)
     end
 
     private
-      def revision
-        unless @revision
-          revisions = [1]
-          @sources.each do |source|
-            revisions &lt;&lt; get_file_revision(&quot;#{@asset_path}/#{source}.#{@extension}&quot;)
-          end
-          @revision = revisions.max
-        end
-        @revision
-      end
-  
-      def get_file_revision(path)
-        if File.exists?(path)
-          begin
-            `svn info #{path}`[/Last Changed Rev: (.*?)\n/][/(\d+)/].to_i
-          rescue # use filename timestamp if not in subversion
-            File.mtime(path).to_i
-          end
-        else
-          0
-        end
-      end
-
       def create_new_build
-        if File.exists?(&quot;#{@asset_path}/#{@target}_#{revision}.#{@extension}&quot;)
-          log &quot;Latest version already exists: #{@asset_path}/#{@target}_#{revision}.#{@extension}&quot;
+        new_build_path = &quot;#{@asset_path}/#{@target}_packaged.#{@extension}&quot;
+        if File.exists?(new_build_path)
+          log &quot;Latest version already exists: #{new_build_path}&quot;
         else
-          File.open(&quot;#{@asset_path}/#{@target}_#{revision}.#{@extension}&quot;, &quot;w&quot;) {|f| f.write(compressed_file) }
-          log &quot;Created #{@asset_path}/#{@target}_#{revision}.#{@extension}&quot;
+          File.open(new_build_path, &quot;w&quot;) {|f| f.write(compressed_file) }
+          log &quot;Created #{new_build_path}&quot;
         end
       end
 
@@ -179,7 +156,7 @@ module Synthesis
 
       def compress_js(source)
         jsmin_path = &quot;#{RAILS_ROOT}/vendor/plugins/asset_packager/lib&quot;
-        tmp_path = &quot;#{RAILS_ROOT}/tmp/#{@target}_#{revision}&quot;
+        tmp_path = &quot;#{RAILS_ROOT}/tmp/#{@target}_packaged&quot;
       
         # write out to a temp file
         File.open(&quot;#{tmp_path}_uncompressed.js&quot;, &quot;w&quot;) {|f| f.write(source) }</diff>
      <filename>vendor/plugins/asset_packager/lib/synthesis/asset_package.rb</filename>
    </modified>
    <modified>
      <diff>@@ -32,36 +32,8 @@ module Synthesis
         AssetPackage.targets_from_sources(&quot;stylesheets&quot;, sources) : 
         AssetPackage.sources_from_targets(&quot;stylesheets&quot;, sources))
 
-      sources.collect { |source|
-        source = stylesheet_path(source)
-        tag(&quot;link&quot;, { &quot;rel&quot; =&gt; &quot;Stylesheet&quot;, &quot;type&quot; =&gt; &quot;text/css&quot;, &quot;media&quot; =&gt; &quot;screen&quot;, &quot;href&quot; =&gt; source }.merge(options))
-      }.join(&quot;\n&quot;)    
+      sources.collect { |source| stylesheet_link_tag(source, options) }.join(&quot;\n&quot;)    
     end
 
-    private
-      # rewrite compute_public_path to allow us to not include the query string timestamp
-      # used by ActionView::Helpers::AssetTagHelper
-      def compute_public_path(source, dir, ext=nil, add_asset_id=true)
-        source = source.dup
-        source &lt;&lt; &quot;.#{ext}&quot; if File.extname(source).blank? &amp;&amp; ext
-        unless source =~ %r{^[-a-z]+://}
-          source = &quot;/#{dir}/#{source}&quot; unless source[0] == ?/
-          asset_id = rails_asset_id(source)
-          source &lt;&lt; '?' + asset_id if defined?(RAILS_ROOT) and add_asset_id and not asset_id.blank?
-          source = &quot;#{ActionController::Base.asset_host}#{@controller.request.relative_url_root}#{source}&quot;
-        end
-        source
-      end
-  
-      # rewrite javascript path function to not include query string timestamp
-      def javascript_path(source)
-        compute_public_path(source, 'javascripts', 'js', false)       
-      end
-
-      # rewrite stylesheet path function to not include query string timestamp
-      def stylesheet_path(source)
-        compute_public_path(source, 'stylesheets', 'css', false)
-      end
-
   end
 end
\ No newline at end of file</diff>
      <filename>vendor/plugins/asset_packager/lib/synthesis/asset_package_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,13 +9,12 @@ require 'mocha'
 require 'action_controller/test_process'
 
 ActionController::Base.logger = nil
-ActionController::Base.ignore_missing_templates = false
 ActionController::Routing::Routes.reload rescue nil
 
 $asset_packages_yml = YAML.load_file(&quot;#{RAILS_ROOT}/vendor/plugins/asset_packager/test/asset_packages.yml&quot;)
 $asset_base_path = &quot;#{RAILS_ROOT}/vendor/plugins/asset_packager/test/assets&quot;
 
-class AssetPackageHelperProductionTest &lt; Test::Unit::TestCase
+class AssetPackageHelperDevelopmentTest &lt; Test::Unit::TestCase
   include ActionView::Helpers::TagHelper
   include ActionView::Helpers::AssetTagHelper
   include Synthesis::AssetPackageHelper
@@ -24,24 +23,18 @@ class AssetPackageHelperProductionTest &lt; Test::Unit::TestCase
     Synthesis::AssetPackage.any_instance.stubs(:log)
 
     @controller = Class.new do
-      attr_reader :request
-      def initialize
-        @request = Class.new do
-          def relative_url_root
-            &quot;&quot;
-          end
-        end.new
+      def request
+        @request ||= ActionController::TestRequest.new
       end
-
     end.new
   end
   
   def build_js_expected_string(*sources)
-    sources.map {|s| %(&lt;script src=&quot;/javascripts/#{s}.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;) }.join(&quot;\n&quot;)
+    sources.map {|s| javascript_include_tag(s) }.join(&quot;\n&quot;)
   end
     
   def build_css_expected_string(*sources)
-    sources.map {|s| %(&lt;link href=&quot;/stylesheets/#{s}.css&quot; rel=&quot;Stylesheet&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt;) }.join(&quot;\n&quot;)
+    sources.map {|s| stylesheet_link_tag(s) }.join(&quot;\n&quot;)
   end
     
   def test_js_basic</diff>
      <filename>vendor/plugins/asset_packager/test/asset_package_helper_development_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,7 +8,6 @@ require 'mocha'
 require 'action_controller/test_process'
 
 ActionController::Base.logger = nil
-ActionController::Base.ignore_missing_templates = false
 ActionController::Routing::Routes.reload rescue nil
 
 $asset_packages_yml = YAML.load_file(&quot;#{RAILS_ROOT}/vendor/plugins/asset_packager/test/asset_packages.yml&quot;)
@@ -26,16 +25,9 @@ class AssetPackageHelperProductionTest &lt; Test::Unit::TestCase
     self.stubs(:should_merge?).returns(true)
 
     @controller = Class.new do
-
-      attr_reader :request
-      def initialize
-        @request = Class.new do
-          def relative_url_root
-            &quot;&quot;
-          end
-        end.new
+      def request
+        @request ||= ActionController::TestRequest.new
       end
-
     end.new
 
     build_packages_once
@@ -49,11 +41,11 @@ class AssetPackageHelperProductionTest &lt; Test::Unit::TestCase
   end
   
   def build_js_expected_string(*sources)
-    sources.map {|s| %(&lt;script src=&quot;/javascripts/#{s}.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;) }.join(&quot;\n&quot;)
+    sources.map {|s| javascript_include_tag(s) }.join(&quot;\n&quot;)
   end
     
   def build_css_expected_string(*sources)
-    sources.map {|s| %(&lt;link href=&quot;/stylesheets/#{s}.css&quot; rel=&quot;Stylesheet&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt;) }.join(&quot;\n&quot;)
+    sources.map {|s| stylesheet_link_tag(s) }.join(&quot;\n&quot;)
   end
 
   def test_js_basic
@@ -145,9 +137,4 @@ class AssetPackageHelperProductionTest &lt; Test::Unit::TestCase
       stylesheet_link_merged(:base, :secondary, &quot;subdir/styles&quot;)
   end
   
-  def test_image_tag
-    timestamp = rails_asset_id(&quot;images/rails.png&quot;)
-    assert_dom_equal %(&lt;img alt=&quot;Rails&quot; src=&quot;/images/rails.png?#{timestamp}&quot; /&gt;), image_tag(&quot;rails&quot;)
-  end
-  
 end</diff>
      <filename>vendor/plugins/asset_packager/test/asset_package_helper_production_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -38,44 +38,44 @@ class AssetPackagerTest &lt; Test::Unit::TestCase
   
   def test_delete_and_build
     Synthesis::AssetPackage.delete_all
-    js_package_names = Dir.new(&quot;#{$asset_base_path}/javascripts&quot;).entries.delete_if { |x| ! (x =~ /\A\w+_\d+.js/) }
-    css_package_names = Dir.new(&quot;#{$asset_base_path}/stylesheets&quot;).entries.delete_if { |x| ! (x =~ /\A\w+_\d+.css/) }
-    css_subdir_package_names = Dir.new(&quot;#{$asset_base_path}/stylesheets/subdir&quot;).entries.delete_if { |x| ! (x =~ /\A\w+_\d+.css/) }
+    js_package_names = Dir.new(&quot;#{$asset_base_path}/javascripts&quot;).entries.delete_if { |x| ! (x =~ /\A\w+_packaged.js/) }
+    css_package_names = Dir.new(&quot;#{$asset_base_path}/stylesheets&quot;).entries.delete_if { |x| ! (x =~ /\A\w+_packaged.css/) }
+    css_subdir_package_names = Dir.new(&quot;#{$asset_base_path}/stylesheets/subdir&quot;).entries.delete_if { |x| ! (x =~ /\A\w+_packaged.css/) }
     
     assert_equal 0, js_package_names.length
     assert_equal 0, css_package_names.length
     assert_equal 0, css_subdir_package_names.length
 
     Synthesis::AssetPackage.build_all
-    js_package_names = Dir.new(&quot;#{$asset_base_path}/javascripts&quot;).entries.delete_if { |x| ! (x =~ /\A\w+_\d+.js/) }.sort
-    css_package_names = Dir.new(&quot;#{$asset_base_path}/stylesheets&quot;).entries.delete_if { |x| ! (x =~ /\A\w+_\d+.css/) }.sort
-    css_subdir_package_names = Dir.new(&quot;#{$asset_base_path}/stylesheets/subdir&quot;).entries.delete_if { |x| ! (x =~ /\A\w+_\d+.css/) }.sort
+    js_package_names = Dir.new(&quot;#{$asset_base_path}/javascripts&quot;).entries.delete_if { |x| ! (x =~ /\A\w+_packaged.js/) }.sort
+    css_package_names = Dir.new(&quot;#{$asset_base_path}/stylesheets&quot;).entries.delete_if { |x| ! (x =~ /\A\w+_packaged.css/) }.sort
+    css_subdir_package_names = Dir.new(&quot;#{$asset_base_path}/stylesheets/subdir&quot;).entries.delete_if { |x| ! (x =~ /\A\w+_packaged.css/) }.sort
     
     assert_equal 2, js_package_names.length
     assert_equal 2, css_package_names.length
     assert_equal 1, css_subdir_package_names.length
-    assert js_package_names[0].match(/\Abase_\d+.js\z/)
-    assert js_package_names[1].match(/\Asecondary_\d+.js\z/)
-    assert css_package_names[0].match(/\Abase_\d+.css\z/)
-    assert css_package_names[1].match(/\Asecondary_\d+.css\z/)
-    assert css_subdir_package_names[0].match(/\Astyles_\d+.css\z/)
+    assert js_package_names[0].match(/\Abase_packaged.js\z/)
+    assert js_package_names[1].match(/\Asecondary_packaged.js\z/)
+    assert css_package_names[0].match(/\Abase_packaged.css\z/)
+    assert css_package_names[1].match(/\Asecondary_packaged.css\z/)
+    assert css_subdir_package_names[0].match(/\Astyles_packaged.css\z/)
   end
   
   def test_js_names_from_sources
     package_names = Synthesis::AssetPackage.targets_from_sources(&quot;javascripts&quot;, [&quot;prototype&quot;, &quot;effects&quot;, &quot;noexist1&quot;, &quot;controls&quot;, &quot;foo&quot;, &quot;noexist2&quot;])
     assert_equal 4, package_names.length
-    assert package_names[0].match(/\Abase_\d+\z/)
+    assert package_names[0].match(/\Abase_packaged\z/)
     assert_equal package_names[1], &quot;noexist1&quot;
-    assert package_names[2].match(/\Asecondary_\d+\z/)
+    assert package_names[2].match(/\Asecondary_packaged\z/)
     assert_equal package_names[3], &quot;noexist2&quot;
   end
   
   def test_css_names_from_sources
     package_names = Synthesis::AssetPackage.targets_from_sources(&quot;stylesheets&quot;, [&quot;header&quot;, &quot;screen&quot;, &quot;noexist1&quot;, &quot;foo&quot;, &quot;noexist2&quot;])
     assert_equal 4, package_names.length
-    assert package_names[0].match(/\Abase_\d+\z/)
+    assert package_names[0].match(/\Abase_packaged\z/)
     assert_equal package_names[1], &quot;noexist1&quot;
-    assert package_names[2].match(/\Asecondary_\d+\z/)
+    assert package_names[2].match(/\Asecondary_packaged\z/)
     assert_equal package_names[3], &quot;noexist2&quot;
   end
   </diff>
      <filename>vendor/plugins/asset_packager/test/asset_packager_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-bar bar bar
-bar bar bar
-bar bar bar
-
+bar bar bar
+bar bar bar
+bar bar bar
+</diff>
      <filename>vendor/plugins/asset_packager/test/assets/javascripts/bar.js</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-foo foo foo
-foo foo foo
-foo foo foo
-
+foo foo foo
+foo foo foo
+foo foo foo
+</diff>
      <filename>vendor/plugins/asset_packager/test/assets/javascripts/foo.js</filename>
    </modified>
    <modified>
      <diff>@@ -1,16 +1,16 @@
-#header1 {
-	background: #fff;
-	color: #000;
-	text-align: center;
-}
-#header2 {
-	background: #fff;
-	color: #000;
-	text-align: center;
-}
-#header3 {
-	background: #fff;
-	color: #000;
-	text-align: center;
-}
-
+#header1 {
+	background: #fff;
+	color: #000;
+	text-align: center;
+}
+#header2 {
+	background: #fff;
+	color: #000;
+	text-align: center;
+}
+#header3 {
+	background: #fff;
+	color: #000;
+	text-align: center;
+}
+</diff>
      <filename>vendor/plugins/asset_packager/test/assets/stylesheets/header.css</filename>
    </modified>
    <modified>
      <diff>@@ -1,16 +1,16 @@
-#screen1 {
-	background: #fff;
-	color: #000;
-	text-align: center;
-}
-#screen2 {
-	background: #fff;
-	color: #000;
-	text-align: center;
-}
-#screen3 {
-	background: #fff;
-	color: #000;
-	text-align: center;
-}
-
+#screen1 {
+	background: #fff;
+	color: #000;
+	text-align: center;
+}
+#screen2 {
+	background: #fff;
+	color: #000;
+	text-align: center;
+}
+#screen3 {
+	background: #fff;
+	color: #000;
+	text-align: center;
+}
+</diff>
      <filename>vendor/plugins/asset_packager/test/assets/stylesheets/screen.css</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>e9fb5144106d0824e0ee16c08fbd38edf905748c</id>
    </parent>
  </parents>
  <author>
    <name>Leandro de Oliveira</name>
    <email>ol.leandro@gmail.com</email>
  </author>
  <url>http://github.com/ariejan/baseapp/commit/a067f7a028a34efc75c9a2bd442a6026cfebc608</url>
  <id>a067f7a028a34efc75c9a2bd442a6026cfebc608</id>
  <committed-date>2008-12-22T03:31:09-08:00</committed-date>
  <authored-date>2008-12-06T15:48:51-08:00</authored-date>
  <message>Rails 2.2 compatibility fixes

Signed-off-by: Ariejan de Vroom &lt;ariejan@ariejan.net&gt;</message>
  <tree>8b306a395b59e9d7f144364a03a1196cb2b5ddde</tree>
  <committer>
    <name>Ariejan de Vroom</name>
    <email>ariejan@ariejan.net</email>
  </committer>
</commit>
