<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -176,7 +176,6 @@ task :rcov do
   end
 end
 
-
 desc &quot;Run a specific spec with TASK=xxxx&quot;
 Spec::Rake::SpecTask.new(&quot;spec&quot;) do |t|
   t.spec_opts = [&quot;--format&quot;, &quot;specdoc&quot;, &quot;--colour&quot;]</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -46,8 +46,8 @@ class Autotest::MerbsourceRspec &lt; Autotest
       # 6 above
       at.add_mapping(%r{^lib/merb\.rb$}) { at.files_matching %r{^spec/[^/]*_spec\.rb$} }
 
-  end  
-  
+  end
+
   def initialize(kernel = Kernel, separator = File::SEPARATOR, alt_separator = File::ALT_SEPARATOR) # :nodoc:
     super() # need parens so that Ruby doesn't pass our args
     # to the superclass version which takes none..    
@@ -57,17 +57,17 @@ class Autotest::MerbsourceRspec &lt; Autotest
   end
   
   attr_accessor :failures
-  
+
   def tests_for_file(filename)
     super.select { |f| @files.has_key? f }
   end
   
   alias :specs_for_file :tests_for_file
-  
+
   def failed_results(results)
     results.scan(/^\d+\)\n(?:\e\[\d*m)?(?:.*?Error in )?'([^\n]*)'(?: FAILED)?(?:\e\[\d*m)?\n(.*?)\n\n/m)
   end
-  
+
   def handle_results(results)
     @failures = failed_results(results)
     @files_to_test = consolidate_failures @failures
@@ -80,7 +80,7 @@ class Autotest::MerbsourceRspec &lt; Autotest
     end
     @tainted = true unless @files_to_test.empty?
   end
-  
+
   def consolidate_failures(failed)
     filters = Hash.new { |h,k| h[k] = [] }
     failed.each do |spec, failed_trace|
@@ -93,11 +93,11 @@ class Autotest::MerbsourceRspec &lt; Autotest
     end
     filters
   end
-  
+
   def make_test_cmd(files_to_test)
     &quot;#{ruby} -S #{@spec_command} #{test_cmd_options} #{files_to_test.keys.flatten.join(' ')}&quot;
   end
-  
+
   def test_cmd_options
     '-O specs/spec.opts' if File.exist?('specs/spec.opts')
   end
@@ -119,6 +119,7 @@ class Autotest::MerbsourceRspec &lt; Autotest
   #
   #   * bin/spec
   #   * default spec bin/loader installed in Rubygems
+
   def spec_commands
     if (spec = `which spec`.chomp) &amp;&amp; !spec.empty?
       return [spec]
@@ -126,4 +127,4 @@ class Autotest::MerbsourceRspec &lt; Autotest
     [File.join('bin', 'spec'),
      File.join(Config::CONFIG['bindir'], 'spec')]
   end
-end
+end
\ No newline at end of file</diff>
      <filename>autotest/merbsource_rspec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,5 @@
 if ENV[&quot;TM_RUBY&quot;]
+
   module Autotest::HtmlConsole
     MAX = 30
     STATUS = {}
@@ -41,4 +42,4 @@ if ENV[&quot;TM_RUBY&quot;]
       update
     end
   end
-end
+end
\ No newline at end of file</diff>
      <filename>autotest/textmate.rb</filename>
    </modified>
    <modified>
      <diff>@@ -37,7 +37,6 @@ render :symbol, :status =&gt; 202
 # :layout sets the layout to use; default: controller.to_path || :application; :none means no layout
 render :symbol, :layout =&gt; :none
 
-
 ## PARTIALS
 
 # Render a partial</diff>
      <filename>docs/new_render_api</filename>
    </modified>
    <modified>
      <diff>@@ -27,7 +27,7 @@ end
 
 module Merb
   class &lt;&lt; self
-    
+
     def start(argv=ARGV)
       Merb::Config.parse_args(argv)
       Merb::Server.start(Merb::Config[:port], Merb::Config[:cluster])
@@ -36,75 +36,81 @@ module Merb
     attr_accessor :environment, :load_paths, :adapter
     Merb.load_paths = Hash.new { [Merb.root] } unless Merb.load_paths.is_a?(Hash)
 
-		# This is the core mechanism for setting up your application layout
-		# merb-core won't set a default application layout, but merb-more will
-		# use the app/:type layout that is in use in Merb 0.5
-		#
-		# ==== Parameters
-		# type&lt;Symbol&gt;:: The type of path being registered (i.e. :view)
-		# path&lt;String&gt;:: The full path
-		# file_glob&lt;String&gt;:: 
-		#   A glob that will be used to autoload files under the path
-		def push_path(type, path, file_glob = &quot;**/*.rb&quot;) 
-		  enforce!(type =&gt; Symbol)
-		  load_paths[type] = [path, file_glob]
-		end
-		
-		def dir_for(type)  Merb.load_paths[type].first end
-		def glob_for(type) Merb.load_paths[type][1]    end
-		
-		# Application paths
-		def root()          @root || Merb::Config[:merb_root] || Dir.pwd  end
-		# ==== Parameters
-		# value&lt;String&gt;:: the path to the root of the directory
-		def root=(value)    @root = value                                 end
-		# ==== Parameters
-		# path&lt;String&gt;:: the path to a directory under the root
-		def root_path(path) File.join(root, path)                         end
+    # This is the core mechanism for setting up your application layout
+    # merb-core won't set a default application layout, but merb-more will
+    # use the app/:type layout that is in use in Merb 0.5
+    #
+    # ==== Parameters
+    # type&lt;Symbol&gt;:: The type of path being registered (i.e. :view)
+    # path&lt;String&gt;:: The full path
+    # file_glob&lt;String&gt;:: 
+    #   A glob that will be used to autoload files under the path
+    def push_path(type, path, file_glob = &quot;**/*.rb&quot;) 
+      enforce!(type =&gt; Symbol)
+      load_paths[type] = [path, file_glob]
+    end
+
+    def dir_for(type)  Merb.load_paths[type].first end
+
+    def glob_for(type) Merb.load_paths[type][1]    end
     
-		# Logger settings
-		attr_accessor :logger
-		
-		def log_file
-		  if Merb::Config[:log_file]
-		    Merb::Config[:log_file]
-		  elsif $TESTING
-		    log_path / &quot;merb_test.log&quot;
+    # Application paths
+
+    def root()          @root || Merb::Config[:merb_root] || Dir.pwd  end
+    # ==== Parameters
+    # value&lt;String&gt;:: the path to the root of the directory
+
+    def root=(value)    @root = value                                 end
+    # ==== Parameters
+    # path&lt;String&gt;:: the path to a directory under the root
+
+    def root_path(path) File.join(root, path)                         end
+    
+    # Logger settings
+    attr_accessor :logger
+
+    def log_file
+      if Merb::Config[:log_file]
+        Merb::Config[:log_file]
+      elsif $TESTING
+        log_path / &quot;merb_test.log&quot;
       elsif !(Merb::Config[:daemonize] || Merb::Config[:cluster] )
         STDOUT
       else
         log_path / &quot;merb.#{Merb::Config[:port]}.log&quot;
       end
-	  end
-	  
-		def log_path
-		  if Merb::Config[:log_file]
-		    File.dirname(Merb::Config[:log_file])
-		  #elsif $TESTING
+    end
+
+    def log_path
+      if Merb::Config[:log_file]
+        File.dirname(Merb::Config[:log_file])
+      #elsif $TESTING
       #  Merb.root_path(&quot;log&quot;)
       else
         Merb.root_path(&quot;log&quot;)
-		  end
-		end
-		
-		# Framework paths
-		def framework_root()  @framework_root ||= File.dirname(__FILE__)  end
-		  
-		def flat!(&amp;block)
+      end
+    end
+    
+    # Framework paths
+
+    def framework_root()  @framework_root ||= File.dirname(__FILE__)  end
+
+    def flat!(&amp;block)
       Merb::Config[:framework] = {}
 
       Merb::Router.prepare do |r|
         r.default_routes
         block.call(r) if block_given?
-      end		  
-	  end
-		  
+      end      
+    end
+      
     # Set up default variables under Merb
     attr_accessor :generator_scope, :klass_hashes
     Merb.generator_scope = [:merb_default, :merb, :rspec]
     Merb.klass_hashes = []
     
     attr_reader :registered_session_types
+
     def register_session_type(name, file, description = nil)
       @registered_session_types ||= Dictionary.new
       @registered_session_types[name] = {
@@ -115,4 +121,4 @@ module Merb
     
   end
   
-end
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,4 @@
+
 module Merb
   autoload :AbstractController,   &quot;merb-core/controller/abstract_controller&quot;
   autoload :BootLoader,           &quot;merb-core/bootloader&quot;
@@ -19,12 +20,12 @@ module Merb
   autoload :SessionMixin,         &quot;merb-core/dispatch/session&quot;
 end
 
-
 # Require this rather than autoloading it so we can be sure the default template
 # gets registered
 require &quot;merb-core/controller/template&quot;
 require &quot;merb-core/hook&quot;
 
 module Merb
+  
   module InlineTemplates; end
 end
\ No newline at end of file</diff>
      <filename>lib/merb-core/autoload.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,7 @@
+
+
 module Merb
-  
+
   class BootLoader
     
     cattr_accessor :subclasses, :after_load_callbacks
@@ -8,6 +10,7 @@ module Merb
     class_inheritable_accessor :_after, :_before
     
     class &lt;&lt; self
+      
       def inherited(klass)
         if !klass._before &amp;&amp; !klass._after
           subclasses &lt;&lt; klass.to_s
@@ -18,7 +21,7 @@ module Merb
         end
         super
       end
-      
+
       def run
         subklasses = subclasses.dup
         until subclasses.empty?
@@ -28,15 +31,15 @@ module Merb
         end  
         subclasses = subklasses
       end
-      
+
       def after(klass)
         self._after = klass.to_s
       end
-      
+
       def before(klass)
         self._before = klass.to_s
       end
-      
+
       def after_app_loads(&amp;block)
         after_load_callbacks &lt;&lt; block
       end
@@ -46,7 +49,6 @@ module Merb
   
 end
 
-
 # Build the framework paths.
 #
 # By default, the following paths will be used:
@@ -82,12 +84,14 @@ end
 # under Merb.root, but with models, views, and lib with their own folders off of Merb.root.
 class Merb::BootLoader::BuildFramework &lt; Merb::BootLoader
   class &lt;&lt; self
+
     def run
       build_framework
     end
   
     # This method should be overridden in merb_init.rb before Merb.start to set up a different
     # framework structure
+
     def build_framework
       unless Merb::Config[:framework]
         %w[view model controller helper mailer part].each do |component|
@@ -112,6 +116,7 @@ end
 # Place the logger inside of the Merb log directory (set up in
 # Merb::BootLoader::BuildFramework)
 class Merb::BootLoader::Logger &lt; Merb::BootLoader
+  
   def self.run
     Merb.logger = Merb::Logger.new(Merb.log_file, Merb::Config[:log_level])
   end
@@ -119,6 +124,7 @@ end
 
 class Merb::BootLoader::DropPidFile &lt;  Merb::BootLoader
   class &lt;&lt; self
+    
     def run
       Merb::Server.store_pid(Merb::Config[:port])
     end
@@ -126,7 +132,9 @@ class Merb::BootLoader::DropPidFile &lt;  Merb::BootLoader
 end    
 # Load the init.rb file, and any environment files, which register the
 # list of necessary dependencies and any after_app_loads hooks.
+
 class Merb::BootLoader::Dependencies &lt; Merb::BootLoader
+  
   def self.run
     require Merb.dir_for(:config) / &quot;init&quot; if File.exists?(Merb.dir_for(:config) / &quot;init.rb&quot;)
     if !Merb.environment.nil? &amp;&amp; File.exist?(Merb.dir_for(:environments) / (Merb.environment + &quot;.rb&quot;))
@@ -139,7 +147,9 @@ end
 #
 # This will attempt to load router.rb from the Merb configuration directory (set up in
 # Merb::BootLoader::BuildFramework)
+
 class Merb::BootLoader::LoadRouter &lt; Merb::BootLoader
+  
   def self.run
     require(Merb.dir_for(:config) / &quot;router&quot;) if File.exists?(Merb.dir_for(:config) / &quot;router.rb&quot;)
   end
@@ -157,6 +167,7 @@ class Merb::BootLoader::LoadClasses &lt; Merb::BootLoader
   MTIMES = {}
   
   class &lt;&lt; self
+
     def run
       # Add models, controllers, and lib to the load path
       $LOAD_PATH.unshift Merb.dir_for(:model)      
@@ -187,7 +198,7 @@ class Merb::BootLoader::LoadClasses &lt; Merb::BootLoader
       load_file file
       Merb.klass_hashes.each {|x| x.unprotect_keys!}      
     end
-  
+
     def remove_constant(const)
       # This is to support superclasses (like AbstractController) that track
       # their subclasses in a class variable. Classes that wish to use this
@@ -215,12 +226,13 @@ end
 # Loads the templates into the Merb::InlineTemplates module.
 class Merb::BootLoader::Templates &lt; Merb::BootLoader
   class &lt;&lt; self
+
     def run
       template_paths.each do |path|
         Merb::Template.inline_template(path)
       end
     end
-  
+
     def template_paths
       extension_glob = &quot;{#{Merb::Template::EXTENSIONS.keys.join(',')}}&quot;
 
@@ -252,6 +264,7 @@ end
 # :js:: to_json, text/javascript ot application/javascript or application/x-javascript
 # :json:: to_json, application/json or text/x-json
 class Merb::BootLoader::MimeTypes &lt; Merb::BootLoader
+
   def self.run
     Merb.available_mime_types.clear
     Merb.add_mime_type(:all,  nil,      %w[*/*])
@@ -266,6 +279,7 @@ end
 
 # Call any after_app_loads hooks that were registered via after_app_loads in dependencies.rb.
 class Merb::BootLoader::AfterAppLoads &lt; Merb::BootLoader
+
   def self.run
     Merb::BootLoader.after_load_callbacks.each {|x| x.call }
   end
@@ -273,6 +287,7 @@ end
 
 # Mixin the correct session container.
 class Merb::BootLoader::MixinSessionContainer &lt; Merb::BootLoader
+
   def self.run
     Merb.register_session_type('memory',
       Merb.framework_root / &quot;merb-core&quot; / &quot;dispatch&quot; / &quot;session&quot; / &quot;memory&quot;,
@@ -305,8 +320,7 @@ class Merb::BootLoader::MixinSessionContainer &lt; Merb::BootLoader
         
     Merb.logger.flush  
   end
-  
-  
+
   def self.check_for_secret_key
     unless Merb::Config[:session_secret_key] &amp;&amp; (Merb::Config[:session_secret_key].length &gt;= 16)
       Merb.logger.info(&quot;You must specify a session_secret_key in your merb.yml, and it must be at least 16 characters\nbailing out...&quot;)
@@ -318,6 +332,7 @@ end
 
 # Choose the Rack adapter/server to use and set Merb.adapter
 class Merb::BootLoader::ChooseAdapter &lt; Merb::BootLoader
+
   def self.run
     Merb.adapter = Merb::Rack::Adapter.get(Merb::Config[:adapter])
   end
@@ -328,6 +343,7 @@ end
 # comes with rack. Automatically evals the rack.rb file in the context of a
 # Rack::Builder.new { } block. Allows for mounting additional apps or middleware
 class Merb::BootLoader::RackUpApplication &lt; Merb::BootLoader
+
   def self.run
     if File.exists?(Merb.dir_for(:config) / &quot;rack.rb&quot;)
       Merb::Config[:app] =  eval(&quot;::Rack::Builder.new {( #{IO.read(Merb.dir_for(:config) / 'rack.rb')}\n )}.to_app&quot;, TOPLEVEL_BINDING)
@@ -339,6 +355,7 @@ end
 
 # Setup the class reloader.
 class Merb::BootLoader::ReloadClasses &lt; Merb::BootLoader
+
   def self.run
     return unless Merb::Config[:reload_classes]
     
@@ -351,7 +368,7 @@ class Merb::BootLoader::ReloadClasses &lt; Merb::BootLoader
       Thread.exit
     end
   end
-  
+
   def self.reload
     paths = []
     Merb.load_paths.each do |path_name, file_info|</diff>
      <filename>lib/merb-core/bootloader.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,11 @@
 require 'optparse'
 require 'yaml'
+
 module Merb
+  
   class Config
     class &lt;&lt; self
-      
+
       def defaults
         @defaults ||= {
           :host                   =&gt; &quot;0.0.0.0&quot;,
@@ -17,34 +19,35 @@ module Merb
           :query_string_whitelist =&gt; [],
         }
       end
-      
+
       def use
         yield @configuration
       end
-        
+
       def [](key)
         (@configuration||={})[key]
       end
-      
+
       def []=(key,val)
         @configuration[key] = val
       end
+
       def delete(key)
         @configuration.delete key
       end
-      
+
       def fetch(key, default)
         @configuration.fetch key, default
       end
-      
+
       def to_hash
         @configuration
       end
-      
+
       def to_yaml
         @configuration.to_yaml  
       end
-      
+
       def setup(settings = {})
         @configuration = defaults.merge(settings)
       end</diff>
      <filename>lib/merb-core/config.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,7 @@
 # Most of this list is simply constants frozen for efficiency
+
 module Merb
+  
   module Const
     
     ESCAPE_TABLE = {
@@ -48,4 +50,4 @@ module Merb
     REQUEST_PATH             = &quot;REQUEST_PATH&quot;.freeze
     REMOTE_ADDR              = &quot;REMOTE_ADDR&quot;.freeze
   end
-end
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/constants.rb</filename>
    </modified>
    <modified>
      <diff>@@ -67,8 +67,10 @@ class Merb::AbstractController
   
   class_inheritable_accessor :_before_filters, :_after_filters, :_template_root, :_layout
 
-  # Controller name is part of the public API  
+  # Controller name is part of the public API
+
   def self.controller_name() @controller_name ||= self.name.to_const_path end
+
   def controller_name()      self.class.controller_name                   end
 
   self._before_filters, self._after_filters = [], []
@@ -79,6 +81,7 @@ class Merb::AbstractController
   #
   # ==== Examples
   # {{[
+
   #   def _template_location
   #     &quot;#{params[:controller]}.#{prams[:action]}.#{content_type}&quot;
   #   end
@@ -98,6 +101,7 @@ class Merb::AbstractController
   # the superclass.
   #---
   # @public
+
   def _template_location(action, type = nil, controller = controller_name)
     &quot;#{controller}/#{action}&quot;
   end
@@ -109,13 +113,14 @@ class Merb::AbstractController
   # uniqueness.
   self._abstract_subclasses = Set.new
   self._template_root = Merb.dir_for(:view)
-  
+
   def self.subclasses_list() _abstract_subclasses end
   
   class &lt;&lt; self
     # ==== Parameters
     # klass&lt;Merb::AbstractController&gt;::
     #   The controller that is being inherited from Merb::AbstractController
+
     def inherited(klass)
       _abstract_subclasses &lt;&lt; klass.to_s
       klass.send(:include, Object.full_const_get(&quot;#{klass}Helper&quot;)) rescue nil
@@ -142,6 +147,7 @@ class Merb::AbstractController
   
   # ==== Parameters
   # *args&lt;Object&gt;:: The args are ignored
+
   def initialize(*args)
     @_benchmarks = {}
     @_caught_content = {}
@@ -149,6 +155,7 @@ class Merb::AbstractController
   
   # ==== Parameters
   # action&lt;~to_s&gt;:: The action to dispatch to. This will be #send'ed in _call_action
+
   def _dispatch(action=:to_s)
     hook :before_dispatch
     self.action_name = action
@@ -179,6 +186,7 @@ class Merb::AbstractController
   #
   # ==== Parameters
   # action&lt;~to_s&gt;:: the action method to dispatch to
+
   def _call_action(action)
     send(action)
   end
@@ -221,6 +229,7 @@ class Merb::AbstractController
   # ==== Note
   # If the filter already exists, its options will be replaced
   # with opts
+
   def self.after(filter = nil, opts = {}, &amp;block)
     add_filter(self._after_filters, filter, opts)
   end
@@ -233,7 +242,8 @@ class Merb::AbstractController
   # See class documentation under &lt;tt&gt;Filter Options&lt;/tt&gt;
   #
   # ==== Note
-  # If the filter already exists, its options will be replaced with opts  
+  # If the filter already exists, its options will be replaced with opts
+
   def self.before(filter = nil, opts = {}, &amp;block)
     add_filter(self._before_filters, filter || block, opts)
   end
@@ -242,6 +252,7 @@ class Merb::AbstractController
   #
   # ==== Parameters
   # filter&lt;Symbol&gt;:: A filter name to skip
+
   def self.skip_after(filter)
     skip_filter(self._after_filters, filter)
   end
@@ -249,16 +260,19 @@ class Merb::AbstractController
   # Skip a before filter that has been previously defined (perhaps in a superclass)
   #
   # ==== Parameters
-  # filter&lt;Symbol&gt;:: A filter name to skip  
+  # filter&lt;Symbol&gt;:: A filter name to skip
+
   def self.skip_before(filter)
     skip_filter(self._before_filters , filter)
   end  
   
   #---
   # Defaults that can be overridden by plugins, other mixins, or subclasses
-  
+
   def _filters_halted()   &quot;&lt;html&gt;&lt;body&gt;&lt;h1&gt;Filter Chain Halted!&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;&quot;  end
-  def _setup_session()                                                               end    
+
+  def _setup_session()                                                               end
+
   def _finalize_session()                                                            end
 
   # Stub so content-type support in RenderMixin doesn't throw errors
@@ -268,6 +282,7 @@ class Merb::AbstractController
   #
   # ==== Parameters
   # template&lt;String&gt;:: The full path to a template to add to the list of available templates
+
   def self.add_path_to_template_cache(template)
     return false if template.blank? || template.split(&quot;/&quot;).last.split(&quot;.&quot;).size != 3
     key = template.match(/(.*)\.(.*)$/)[1]
@@ -275,6 +290,7 @@ class Merb::AbstractController
   end
   
   # Resets the template_path_cache to an empty hash
+
   def self.reset_template_path_cache!
     self._template_path_cache = {}
   end  
@@ -334,12 +350,13 @@ class Merb::AbstractController
   # ==== Options
   # :only&lt;Symbol, Array[Symbol]&gt;:: A list of actions
   # :exclude&lt;Symbol, Array[Symbol]&gt;:: A list of actions
+
   def self.normalize_filters!(opts={})
     opts[:only]     = Array(opts[:only]).map {|x| x.to_s} if opts[:only]
     opts[:exclude]  = Array(opts[:exclude]).map {|x| x.to_s} if opts[:exclude]
     return opts
   end
-  
+
   def method_missing(sym, *args, &amp;blk)
     return @_merb_partial_locals[sym] if @_merb_partial_locals &amp;&amp; @_merb_partial_locals.key?(sym)
     super</diff>
      <filename>lib/merb-core/controller/abstract_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -14,6 +14,7 @@ module Merb
   # For example you might have an action in your app that raises NotFound
   # if a some resource was not available
   #
+
   #   def show
   #     product = Product.find(params[:id])
   #     raise NotFound if product.nil?
@@ -24,6 +25,7 @@ module Merb
   # Exceptions controller which might look something like
   #
   # class Exceptions &lt; Application
+
   #   def not_found
   #     render :layout =&gt; :none
   #   end
@@ -55,6 +57,7 @@ module Merb
   # action might be to send emails to the development team, warning that their
   # application have exploded. Mock example:
   #
+
   #   def internal_server_error
   #     MySpecialMailer.deliver(
   #       &quot;team@cowboys.com&quot;, 
@@ -80,6 +83,7 @@ module Merb
   # Add the required action to our Exceptions controller
   #
   #   class Exceptions &lt; Application
+
   #     def admin_access_required
   #       render
   #     end
@@ -91,17 +95,20 @@ module Merb
   #   &lt;p&gt;You tried to access &lt;%= @tried_to_access %&gt; but that URL is 
   #   restricted to administrators.&lt;/p&gt;
   #
+
   module ControllerExceptions #:nodoc: all
     
     # Mapping of status code names to their numeric value.
     STATUS_CODES = {}
-    
+
     class Base &lt; StandardError #:doc:
+
       def name
         self.class.to_s.snake_case.split('::').last
       end
       
       # Makes it possible to pass a status-code class to render :status
+
       def self.to_i
         STATUS
       end
@@ -122,69 +129,116 @@ module Merb
         end
       end
     end
-    
-    
+
     class Informational                 &lt; Merb::ControllerExceptions::Base; end
+
       class Continue                    &lt; Merb::ControllerExceptions::Informational; STATUS = 100; end
+
       class SwitchingProtocols          &lt; Merb::ControllerExceptions::Informational; STATUS = 101; end
+
     class Successful                    &lt; Merb::ControllerExceptions::Base; end
+
       class OK                          &lt; Merb::ControllerExceptions::Successful; STATUS = 200; end
+
       class Created                     &lt; Merb::ControllerExceptions::Successful; STATUS = 201; end
+
       class Accepted                    &lt; Merb::ControllerExceptions::Successful; STATUS = 202; end
+
       class NonAuthoritativeInformation &lt; Merb::ControllerExceptions::Successful; STATUS = 203; end
+
       class NoContent                   &lt; Merb::ControllerExceptions::Successful; STATUS = 204; end
+
       class ResetContent                &lt; Merb::ControllerExceptions::Successful; STATUS = 205; end
+
       class PartialContent              &lt; Merb::ControllerExceptions::Successful; STATUS = 206; end
+
     class Redirection                   &lt; Merb::ControllerExceptions::Base; end
+
       class MultipleChoices             &lt; Merb::ControllerExceptions::Redirection; STATUS = 300; end
+
       class MovedPermanently            &lt; Merb::ControllerExceptions::Redirection; STATUS = 301; end
+
       class MovedTemporarily            &lt; Merb::ControllerExceptions::Redirection; STATUS = 302; end
+
       class SeeOther                    &lt; Merb::ControllerExceptions::Redirection; STATUS = 303; end
+
       class NotModified                 &lt; Merb::ControllerExceptions::Redirection; STATUS = 304; end
+
       class UseProxy                    &lt; Merb::ControllerExceptions::Redirection; STATUS = 305; end
+
       class TemporaryRedirect           &lt; Merb::ControllerExceptions::Redirection; STATUS = 307; end
+
     class ClientError                   &lt; Merb::ControllerExceptions::Base; end
+
       class BadRequest                  &lt; Merb::ControllerExceptions::ClientError; STATUS = 400; end
+
         class MultiPartParseError       &lt; Merb::ControllerExceptions::BadRequest; end
+
       class Unauthorized                &lt; Merb::ControllerExceptions::ClientError; STATUS = 401; end
+
       class PaymentRequired             &lt; Merb::ControllerExceptions::ClientError; STATUS = 402; end
+
       class Forbidden                   &lt; Merb::ControllerExceptions::ClientError; STATUS = 403; end
+
       class NotFound                    &lt; Merb::ControllerExceptions::ClientError; STATUS = 404; end
+
         class ActionNotFound            &lt; Merb::ControllerExceptions::NotFound; end
+
         class TemplateNotFound          &lt; Merb::ControllerExceptions::NotFound; end
+
         class LayoutNotFound            &lt; Merb::ControllerExceptions::NotFound; end
+
       class MethodNotAllowed            &lt; Merb::ControllerExceptions::ClientError; STATUS = 405; end
+
       class NotAcceptable               &lt; Merb::ControllerExceptions::ClientError; STATUS = 406; end
+
       class ProxyAuthenticationRequired &lt; Merb::ControllerExceptions::ClientError; STATUS = 407; end
+
       class RequestTimeout              &lt; Merb::ControllerExceptions::ClientError; STATUS = 408; end
+
       class Conflict                    &lt; Merb::ControllerExceptions::ClientError; STATUS = 409; end
+
       class Gone                        &lt; Merb::ControllerExceptions::ClientError; STATUS = 410; end
+
       class LengthRequired              &lt; Merb::ControllerExceptions::ClientError; STATUS = 411; end
+
       class PreconditionFailed          &lt; Merb::ControllerExceptions::ClientError; STATUS = 412; end
+
       class RequestEntityTooLarge       &lt; Merb::ControllerExceptions::ClientError; STATUS = 413; end
+
       class RequestURITooLarge          &lt; Merb::ControllerExceptions::ClientError; STATUS = 414; end
+
       class UnsupportedMediaType        &lt; Merb::ControllerExceptions::ClientError; STATUS = 415; end
+
       class RequestRangeNotSatisfiable  &lt; Merb::ControllerExceptions::ClientError; STATUS = 416; end
+
       class ExpectationFailed           &lt; Merb::ControllerExceptions::ClientError; STATUS = 417; end
+
     class ServerError                   &lt; Merb::ControllerExceptions::Base; end
+
       class NotImplemented              &lt; Merb::ControllerExceptions::ServerError; STATUS = 501; end
+
       class BadGateway                  &lt; Merb::ControllerExceptions::ServerError; STATUS = 502; end
+
       class ServiceUnavailable          &lt; Merb::ControllerExceptions::ServerError; STATUS = 503; end
+
       class GatewayTimeout              &lt; Merb::ControllerExceptions::ServerError; STATUS = 504; end
+
       class HTTPVersionNotSupported     &lt; Merb::ControllerExceptions::ServerError; STATUS = 505; end
+
       class InternalServerError         &lt; Merb::ControllerExceptions::ServerError #:doc: 
         STATUS = 500
         # DEFAULT_TEMPLATE = ::Merb::Dispatcher::DEFAULT_ERROR_TEMPLATE
-      
+
         def initialize(exception = nil)
           @exception = exception
           @coderay = CodeRay rescue nil
         end
-      
+
         def backtrace
           @exception ? @exception.backtrace : backtrace
         end
-      
+
         def message
           @exception ? @exception.message : message
         end
@@ -194,6 +248,7 @@ module Merb
   # Required to show exceptions in the log file
   #
   # e&lt;Exception&gt;:: The exception that a message is being generated for
+
   def self.exception(e) #:nodoc:
     &quot;#{ e.message } - (#{ e.class })\n&quot; &lt;&lt;  
     &quot;#{(e.backtrace or []).join(&quot;\n&quot;)}&quot; </diff>
      <filename>lib/merb-core/controller/exceptions.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,11 @@
+
+
 class Merb::Controller &lt; Merb::AbstractController
   
   class_inheritable_accessor :_session_id_key, :_session_expiry, :_hidden_actions, :_shown_actions
   cattr_accessor :_subclasses, :_session_secret_key
   self._subclasses = Set.new
+
   def self.subclasses_list() _subclasses end
   
   self._session_secret_key = nil
@@ -17,6 +20,7 @@ class Merb::Controller &lt; Merb::AbstractController
     # ==== Parameters
     # klass&lt;Merb::Controller&gt;:: The Merb::Controller inheriting from the
     #                           base class
+
     def inherited(klass)
       _subclasses &lt;&lt; klass.to_s
       super
@@ -33,6 +37,7 @@ class Merb::Controller &lt; Merb::AbstractController
     # 
     #---
     # @public
+
     def hide_action(*names)
       self._hidden_actions = self._hidden_actions | names.map { |n| n.to_s }
     end
@@ -44,14 +49,17 @@ class Merb::Controller &lt; Merb::AbstractController
     # ==== Example
     # {{[
     #   module Foo
+
     #     def self.included(base)
     #       base.show_action(:foo)
     #     end
-    #     
+    #
+
     #     def foo
     #       # some actiony stuff
     #     end
-    #   
+    #
+
     #     def foo_helper
     #       # this should not be an action
     #     end
@@ -67,7 +75,8 @@ class Merb::Controller &lt; Merb::AbstractController
     #   would not otherwise be.
     # 
     #---
-    # @public    
+    # @public
+
     def show_action(*names)
       self._shown_actions = self._shown_actions | names.map {|n| n.to_s}
     end
@@ -100,6 +109,7 @@ class Merb::Controller &lt; Merb::AbstractController
     # ==== Returns
     # Array[String]::
     #   A list of actions that should be callable.
+
     def callable_actions
       @callable_actions ||= Merb::SimpleSet.new(begin
         callables = []
@@ -129,6 +139,7 @@ class Merb::Controller &lt; Merb::AbstractController
   #
   #---
   # @public
+
   def _template_location(action, type = nil, controller = controller_name)
     &quot;#{controller}/#{action}.#{type}&quot;
   end  
@@ -157,6 +168,7 @@ class Merb::Controller &lt; Merb::AbstractController
   # 
   #---
   # @semipublic
+
   def initialize(request, response = StringIO.new, status=200, headers={'Content-Type' =&gt; 'text/html; charset=utf-8'})
     super()
     if request.params.key?(_session_id_key)
@@ -179,6 +191,7 @@ class Merb::Controller &lt; Merb::AbstractController
   # 
   #---
   # @semipublic
+
   def _dispatch(action=:index)
     start = Time.now
     if self.class.callable_actions.include?(action.to_s)
@@ -194,6 +207,7 @@ class Merb::Controller &lt; Merb::AbstractController
   
   # ==== Returns
   # Hash:: The parameters from the request object
+
   def params()  request.params  end
     
   # ==== Returns
@@ -204,13 +218,16 @@ class Merb::Controller &lt; Merb::AbstractController
   # ==== Note
   # headers are passed into the cookie object so that you can do:
   #   cookies[:foo] = &quot;bar&quot;
+
   def cookies() @_cookies ||= ::Merb::Cookies.new(request.cookies, @_headers)  end
     
   # ==== Returns
   # Hash:: The session that was extracted from the request object
+
   def session() request.session end
 
   # ==== Returns
-  # Hash:: The route that was extracted from the request object    
+  # Hash:: The route that was extracted from the request object
+
   def route()   request.route   end
 end
\ No newline at end of file</diff>
      <filename>lib/merb-core/controller/merb_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,10 @@
+
+
 module Merb
   class &lt;&lt; self
 
     # An alias for ResponderMixin::TYPES
+
     def available_mime_types
       ResponderMixin::TYPES
     end
@@ -19,6 +22,7 @@ module Merb
     # type and calls render.
     # 
     # By default this does: def render_all, def render_yaml, def render_text,
+
     # def render_html, def render_xml, def render_js, and def render_yaml
     #
     # ==== Parameters
@@ -38,6 +42,7 @@ module Merb
          :response_headers  =&gt; new_response_headers })
 
       Merb::RenderMixin.class_eval &lt;&lt;-EOS
+
         def render_#{key}(thing = nil, opts = {})
           content_type = :#{key}
           render thing, opts
@@ -49,6 +54,7 @@ module Merb
     #
     # ==== Parameters
     # key&lt;Symbol&gt;:: The key that represents the mime-type to remove
+
     def remove_mime_type(key)
       # :all is the key for */*; it can't be removed
       return false if key == :all
@@ -59,6 +65,7 @@ module Merb
     #
     # ==== Parameters
     # key&lt;Symbol&gt;:: The key that represents the mime-type
+
     def mime_transform_method(key)
       raise ArgumentError, &quot;:#{key} is not a valid MIME-type&quot; unless ResponderMixin::TYPES.has?(key)
       ResponderMixin::TYPES[key][:transform_method]
@@ -68,6 +75,7 @@ module Merb
     #
     # ==== Parameters
     # header&lt;String&gt;:: The name of the header you want to find the mime-type for
+
     def mime_by_request_header(header)
       available_mime_types.find {|key,info| info[request_headers].include?(header)}.first
     end</diff>
      <filename>lib/merb-core/controller/mime.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,8 @@
+
+
 module Merb
   # Module that is mixed in to all implemented controllers.
+  
   module ControllerMixin
     
     # Renders the block given as a parameter using chunked
@@ -7,6 +10,7 @@ module Merb
     #
     # ==== Examples
     #
+
     #   def stream
     #     prefix = '&lt;p&gt;'
     #     suffix = &quot;&lt;/p&gt;\r\n&quot;
@@ -47,6 +51,7 @@ module Merb
     #
     # ==== Parameters
     # data&lt;String&gt;:: a chunk of data to return
+
     def send_chunk(data)
       response.write('%x' % data.size + &quot;\r\n&quot;)
       response.write(data + &quot;\r\n&quot;)
@@ -92,6 +97,7 @@ module Merb
     # url&lt;String&gt;:: URL to redirect to; it can be either a relative or 
     #               fully-qualified URL.
     #
+
     def redirect(url)
       Merb.logger.info(&quot;Redirecting to: #{url}&quot;)
       set_status(302)
@@ -105,6 +111,7 @@ module Merb
     # ==== Parameters
     # file&lt;String&gt;:: Path to file to send to the client.
     #
+
     def send_file(file, opts={})
       opts.update(Merb::Const::DEFAULT_SEND_FILE_OPTIONS.merge(opts))
       disposition = opts[:disposition].dup || 'attachment'
@@ -161,6 +168,7 @@ module Merb
     #
     # ==== Parameters
     # file&lt;String&gt;:: Path to file to send to the client
+
     def nginx_send_file(file)
       headers['X-Accel-Redirect'] = File.expand_path(file)
       return
@@ -191,8 +199,9 @@ module Merb
     #
     # ==== Parameters
     # name&lt;~to_s&gt;:: A name for the cookie to delete
+
     def delete_cookie(name)
       set_cookie(name, nil, Merb::Const::COOKIE_EXPIRED_TIME)
     end
   end
-end
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/controller/mixins/controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,12 @@
+
+
 module Merb::RenderMixin
   # So we can do raise TemplateNotFound
   include Merb::ControllerExceptions
   
   # ==== Parameters
   # base&lt;Module&gt;:: Module that is including RenderMixin (probably a controller)
+
   def self.included(base)
     base.class_eval do
       class_inheritable_accessor :_layout, :_cached_templates
@@ -45,6 +48,7 @@ module Merb::RenderMixin
   #
   #---
   # @public
+
   def render(thing = nil, opts = {})
     # render :format =&gt; :xml means render nil, :format =&gt; :xml
     opts, thing = thing, nil if thing.is_a?(Hash)
@@ -122,6 +126,7 @@ module Merb::RenderMixin
   # ==== Note
   # The transformed object will not be used in a layout unless a :layout
   # is explicitly passed in the opts.
+
   def display(object, thing = nil, opts = {})
     # display @object, &quot;path/to/foo&quot; means display @object, nil, :template =&gt; &quot;path/to/foo&quot;
     # display @object, :template =&gt; &quot;path/to/foo&quot; means display @object, nil, :template =&gt; &quot;path/to/foo&quot;
@@ -184,6 +189,7 @@ module Merb::RenderMixin
   #
   # The &quot;_foo&quot; partial will be called, relative to the current controller,
   # with a local variable of +hello+ inside of it, assigned to @object.
+
   def partial(template, opts={})
 
     # partial :foo becomes &quot;#{controller_name}/_foo&quot;
@@ -275,6 +281,7 @@ module Merb::RenderMixin
   #
   #---
   # @public
+
   def catch_content(obj = :layout)
     @_caught_content[obj]
   end
@@ -295,6 +302,7 @@ module Merb::RenderMixin
   #
   #---
   # @public
+
   def throw_content(obj, string = nil, &amp;block)
     unless string || block_given?
       raise ArgumentError, &quot;You must pass a block or a string into throw_content&quot;</diff>
      <filename>lib/merb-core/controller/mixins/render.rb</filename>
    </modified>
    <modified>
      <diff>@@ -95,14 +95,16 @@ module Merb
   #
   # Once +content_type+ has been called, the output format is frozen,
   # and none of the provides methods can be used.
+
   module ResponderMixin
     
     TYPES = {}
-    
+
     class ContentTypeAlreadySet &lt; StandardError; end
     
     # ==== Parameters
     # base&lt;Module&gt;:: The module that ResponderMixin was mixed into
+
     def self.included(base) # :nodoc:
       base.extend(ClassMethods)
       base.class_eval do
@@ -111,7 +113,7 @@ module Merb
       end
       base.reset_provides
     end
-    
+
     module ClassMethods
       
       # Adds symbols representing formats to the controller's
@@ -129,6 +131,7 @@ module Merb
       #
       #---
       # @public
+
       def provides(*formats)
         formats.each do |fmt|
           self.class_provided_formats &lt;&lt; fmt unless class_provided_formats.include?(fmt)
@@ -146,6 +149,7 @@ module Merb
       #
       #---
       # @public
+
       def only_provides(*formats)
         clear_provides
         provides(*formats)
@@ -162,6 +166,7 @@ module Merb
       #
       #---
       # @public
+
       def does_not_provide(*formats)
         self.class_provided_formats -= formats
       end
@@ -170,6 +175,7 @@ module Merb
       #
       # ==== Returns
       # Array:: An empty Array
+
       def clear_provides
         self.class_provided_formats.clear
       end
@@ -178,6 +184,7 @@ module Merb
       #
       # ==== Returns
       # Array:: [:html]
+
       def reset_provides
         only_provides(:html)
       end
@@ -204,6 +211,7 @@ module Merb
     #
     # ==== Returns
     # Array:: List of formats passed in
+
     def _set_provided_formats(*formats)
       if @_content_type
         raise ContentTypeAlreadySet, &quot;Cannot modify provided_formats because content_type has already been set&quot;
@@ -230,6 +238,7 @@ module Merb
     #
     #---
     # @public
+
     def provides(*formats)
       if @_content_type
         raise ContentTypeAlreadySet, &quot;Cannot modify provided_formats because content_type has already been set&quot;
@@ -253,6 +262,7 @@ module Merb
     #
     #---
     # @public
+
     def only_provides(*formats)
       self._provided_formats = *formats
     end
@@ -269,7 +279,8 @@ module Merb
     # Array:: List of formats that remain after removing the ones not to provide
     #
     #---
-    # @public      
+    # @public
+
     def does_not_provide(*formats)
       formats.flatten!
       self._provided_formats -= formats
@@ -315,6 +326,7 @@ module Merb
     #
     #---
     # @public
+
     def content_type(fmt = nil)
       @_content_type = (fmt || _perform_content_negotiation) unless @_content_type
       @_content_type
@@ -335,6 +347,7 @@ module Merb
     #
     #---
     # @semipublic
+
     def content_type=(type)
       unless Merb.available_mime_types.has_key?(type)
         raise Merb::ControllerExceptions::NotAcceptable.new(&quot;Unknown content_type for response: #{type}&quot;) 
@@ -348,6 +361,7 @@ module Merb
   class Responder
   
     protected
+
     def self.parse(accept_header)
       # parse the raw accept header into a unique, sorted array of AcceptType objects
       list = accept_header.to_s.split(/,/).enum_for(:each_with_index).map do |entry,index|
@@ -365,6 +379,7 @@ module Merb
     end
     
     public
+
     def self.params_to_query_string(value, prefix = nil)
       case value
       when Array
@@ -385,7 +400,7 @@ module Merb
   class AcceptType
 
     attr_reader :media_range, :quality, :index, :type, :sub_type
-    
+
     def initialize(entry,index)
       @index = index
       @media_range, quality = entry.split(/;\s*q=/).map{|a| a.strip }
@@ -393,41 +408,40 @@ module Merb
       quality ||= 0.0 if @media_range == '*/*'
       @quality = ((quality || 1.0).to_f * 100).to_i
     end
-  
+
     def &lt;=&gt;(entry)
       c = entry.quality &lt;=&gt; quality
       c = index &lt;=&gt; entry.index if c == 0
       c
     end
-  
+
     def eql?(entry)
       synonyms.include?(entry.media_range)
     end
-  
+
     def ==(entry); eql?(entry); end
-  
+
     def hash; super_range.hash; end
-  
+
     def synonyms
       @syns ||= Merb.available_mime_types.values.map do |e| 
         e[:request_headers] if e[:request_headers].include?(@media_range)
       end.compact.flatten
     end
-  
+
     def super_range
       synonyms.first || @media_range
     end
-  
+
     def to_sym
       Merb.available_mime_types.select{|k,v| 
         v[:request_headers] == synonyms || v[:request_headers][0] == synonyms[0]}.flatten.first
     end
-  
+
     def to_s
       @media_range
     end
   
   end
 
-    
 end
\ No newline at end of file</diff>
      <filename>lib/merb-core/controller/mixins/responder.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,5 @@
+
+
 module Merb::Template
   
   EXTENSIONS  = {} unless defined?(EXTENSIONS)
@@ -16,6 +18,7 @@ module Merb::Template
     # We might want to replace this with something that varies the
     # character replaced based on the non-alphanumeric character
     # to avoid edge-case collisions.
+
     def template_name(path)
       path = File.expand_path(path)      
       path.gsub(/[^\.a-zA-Z0-9]/, &quot;__&quot;).gsub(/\./, &quot;_&quot;)
@@ -27,6 +30,7 @@ module Merb::Template
     # path&lt;String&gt;:: A full path to find a template method for
     #---
     # @semipublic
+
     def template_for(path)
       path = File.expand_path(path)      
       METHOD_LIST[path] ||= begin
@@ -53,6 +57,7 @@ module Merb::Template
     # that will use it.
     #---
     # @public
+
     def inline_template(path, mod = Merb::InlineTemplates)
       path = File.expand_path(path)
       METHOD_LIST[path.gsub(/\.[^\.]*$/, &quot;&quot;)] = 
@@ -65,6 +70,7 @@ module Merb::Template
     # path&lt;String&gt;:: The path of the file to find an engine for
     #---
     # @semipublic
+
     def engine_for(path)
       path = File.expand_path(path)      
       EXTENSIONS[path.match(/\.([^\.]*)$/)[1]]
@@ -85,6 +91,7 @@ module Merb::Template
     # ]}}
     #---
     # @public
+
     def register_extensions(engine, extensions) 
       raise ArgumentError, &quot;The class you are registering does not have a compile_template method&quot; unless
         engine.respond_to?(:compile_template)
@@ -93,6 +100,7 @@ module Merb::Template
   end
   
   require 'erubis'
+
   class Erubis    
     # ==== Parameters
     # path&lt;String&gt;:: A full path to the template
@@ -103,10 +111,11 @@ module Merb::Template
       template.def_method(mod, name, path) 
       name     
     end
-    
+
     module Mixin
       
       # Provides direct acccess to the buffer for this view context
+
       def _buffer( the_binding )
         @_buffer = eval( &quot;_buf&quot;, the_binding )
       end</diff>
      <filename>lib/merb-core/controller/template.rb</filename>
    </modified>
    <modified>
      <diff>@@ -36,6 +36,7 @@ class Class # :nodoc:
         end
 
         #{&quot;
+
         def #{sym}=(obj)
           @@#{sym} = obj
         end
@@ -48,10 +49,12 @@ class Class # :nodoc:
     cattr_reader(*syms)
     cattr_writer(*syms)
   end
+
   def class_inheritable_reader(*syms)
     syms.each do |sym|
       next if sym.is_a?(Hash)
       class_eval &lt;&lt;-EOS
+
         def self.#{sym}
           read_inheritable_attribute(:#{sym})
         end
@@ -67,11 +70,13 @@ class Class # :nodoc:
     options = syms.last.is_a?(Hash) ? syms.pop : {}
     syms.each do |sym|
       class_eval &lt;&lt;-EOS
+
         def self.#{sym}=(obj)
           write_inheritable_attribute(:#{sym}, obj)
         end
 
         #{&quot;
+
         def #{sym}=(obj)
           self.class.#{sym} = obj
         end
@@ -84,11 +89,13 @@ class Class # :nodoc:
     options = syms.last.is_a?(Hash) ? syms.pop : {}
     syms.each do |sym|
       class_eval &lt;&lt;-EOS
+
         def self.#{sym}=(obj)
           write_inheritable_array(:#{sym}, obj)
         end
 
         #{&quot;
+
         def #{sym}=(obj)
           self.class.#{sym} = obj
         end
@@ -101,11 +108,13 @@ class Class # :nodoc:
     options = syms.last.is_a?(Hash) ? syms.pop : {}
     syms.each do |sym|
       class_eval &lt;&lt;-EOS
+
         def self.#{sym}=(obj)
           write_inheritable_hash(:#{sym}, obj)
         end
 
         #{&quot;
+
         def #{sym}=(obj)
           self.class.#{sym} = obj
         end
@@ -132,14 +141,14 @@ class Class # :nodoc:
   def inheritable_attributes
     @inheritable_attributes ||= EMPTY_INHERITABLE_ATTRIBUTES
   end
-  
+
   def write_inheritable_attribute(key, value)
     if inheritable_attributes.equal?(EMPTY_INHERITABLE_ATTRIBUTES)
       @inheritable_attributes = {}
     end
     inheritable_attributes[key] = value
   end
-  
+
   def write_inheritable_array(key, elements)
     write_inheritable_attribute(key, []) if read_inheritable_attribute(key).nil?
     write_inheritable_attribute(key, read_inheritable_attribute(key) + elements)
@@ -153,7 +162,7 @@ class Class # :nodoc:
   def read_inheritable_attribute(key)
     inheritable_attributes[key]
   end
-  
+
   def reset_inheritable_attributes
     @inheritable_attributes = EMPTY_INHERITABLE_ATTRIBUTES
   end
@@ -178,4 +187,4 @@ class Class # :nodoc:
 
     alias inherited_without_inheritable_attributes inherited
     alias inherited inherited_with_inheritable_attributes
-end
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/core_ext/class.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,4 @@
 # require 'hpricot'
-
 class Hash
   class &lt;&lt; self
     # Converts valid XML into a Ruby Hash structure.
@@ -61,12 +60,14 @@ class Hash
     #
     # evaluates with a typecast to an integer.  But ignores the unit attribute
     # { &quot;bicep&quot; =&gt; 60 }
+
     def from_xml( xml )
       ToHashParser.from_xml(xml)
     end
   end
   
   # convert this hash into a Mash for string or symbol key access
+
   def to_mash
     hash = Mash.new(self)
     hash.default = default
@@ -174,13 +175,15 @@ class Hash
   
   # Convert hashes with keys that are real references to classes into keys
   # that are strings. This is used during reloading to prevent the GC from
-  # barfing when we remove classes that still 
+  # barfing when we remove classes that still
+
   def protect_keys!
     keys.each {|key| self[key.to_s] = delete(key) }
   end
   
   # Convert Hashes with String keys into Hashes with Class keys. We run this
   # after reloading to convert protected hashes back into usable hashes.
+
   def unprotect_keys!
     keys.each do |key| 
       (self[Object.full_const_get(key)] = delete(key)) rescue nil
@@ -210,19 +213,19 @@ require 'rexml/light/node'
 # parser
 class REXMLUtilityNode # :nodoc:
   attr_accessor :name, :attributes, :children
-  
+
   def initialize(name, attributes = {})
     @name       = name.tr(&quot;-&quot;, &quot;_&quot;)
     @attributes = undasherize_keys(attributes)
     @children   = []
     @text       = false
   end
-  
+
   def add_node(node)
     @text = true if node.is_a? String
     @children &lt;&lt; node
   end
-  
+
   def to_hash
     if @text
       return { name =&gt; typecast_value( translate_xml_entities( inner_html ) ) }
@@ -246,7 +249,7 @@ class REXMLUtilityNode # :nodoc:
       { name =&gt; hash }
     end
   end
-  
+
   def typecast_value(value)
     return value unless attributes[&quot;type&quot;]
     
@@ -258,7 +261,7 @@ class REXMLUtilityNode # :nodoc:
       else                 value
     end
   end
-  
+
   def translate_xml_entities(value)
     value.gsub(/&amp;lt;/,   &quot;&lt;&quot;).
           gsub(/&amp;gt;/,   &quot;&gt;&quot;).
@@ -266,28 +269,29 @@ class REXMLUtilityNode # :nodoc:
           gsub(/&amp;apos;/, &quot;'&quot;).
           gsub(/&amp;amp;/,  &quot;&amp;&quot;)
   end
-  
+
   def undasherize_keys(params)
     params.keys.each do |key, vvalue|
       params[key.tr(&quot;-&quot;, &quot;_&quot;)] = params.delete(key)
     end
     params
   end
-  
+
   def inner_html
     @children.join
   end
-  
+
   def to_html
     &quot;&lt;#{name}#{attributes.to_xml_attributes}&gt;#{inner_html}&lt;/#{name}&gt;&quot;
   end
-  
+
   def to_s 
     to_html
   end
 end
 
 class ToHashParser # :nodoc:
+
   def self.from_xml(xml)
     stack = []
     parser = REXML::Parsers::BaseParser.new(xml)
@@ -312,4 +316,4 @@ class ToHashParser # :nodoc:
     end
     stack.pop.to_hash
   end
-end
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/core_ext/hash.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,5 @@
+
+
 module Kernel
   # Loads the given string as a gem.
   # An optional second parameter of a version string can be specified and is passed to rubygems.
@@ -5,7 +7,7 @@ module Kernel
   
   # Note that this new version tries to load the file via ROOT/gems first before moving off to
   # the system gems (so if you have a lower version of a gem in ROOT/gems, it'll still get loaded)
-  
+
   def dependency(name, *ver)
     begin
       # If it's not in ROOT/gems, skip to the next attempt
@@ -42,7 +44,7 @@ module Kernel
   #   String - single dependency
   #   Hash   - name =&gt; version
   #   Array  - string dependencies
-  
+
   def dependencies(*args)
     args.each do |arg|
       case arg
@@ -55,7 +57,7 @@ module Kernel
     
   # Requires the library string passed in.
   # If the library fails to load then it will display a helpful message.
-  
+
   def requires(library)
     # TODO: Extract messages out into a messages file. This will also be the first step towards internationalization.
     # TODO: adjust this message once logging refactor is complete.
@@ -77,7 +79,7 @@ module Kernel
   
   # does a basic require, and prints the message passed as an optional
   # second parameter if an error occurs.
-  
+
   def rescue_require(sym, message = nil)
     require sym
   rescue LoadError, RuntimeError
@@ -92,7 +94,7 @@ module Kernel
   #   $ sudo gem install merb_datamapper # or merb_activerecord or merb_sequel
   #   use_orm :datamapper # this line goes in dependencies.yml
   #   $ ruby script/generate model MyModel # will use the appropriate generator for your ORM
-  
+
   def use_orm(orm)
     raise &quot;Don't call use_orm more than once&quot; unless Merb.generator_scope.delete(:merb_default)
     orm_plugin = orm.to_s.match(/^merb_/) ? orm.to_s : &quot;merb_#{orm}&quot;
@@ -108,7 +110,7 @@ module Kernel
   #   $ sudo gem install rspec
   #   use_test :rspec # this line goes in dependencies.yml (or use_test :test_unit)
   #   $ ruby script/generate controller MyController # will use the appropriate generator for tests
-  
+
   def use_test(test_framework)
     raise &quot;use_test only supports :rspec and :test_unit currently&quot; unless 
       [:rspec, :test_unit].include?(test_framework.to_sym)
@@ -195,7 +197,7 @@ module Kernel
   #   end
   # Assuming that the total time taken for #puts calls was less than 5% of the total time to run, #puts won't appear
   # in the profilel report.
-  
+
   def __profile__(name, min=1)
     require 'ruby-prof' unless defined?(RubyProf)
     return_result = ''
@@ -215,9 +217,10 @@ module Kernel
   # Used internally in methods that take *args
   #
   # Example
+
   #   def render(*args,&amp;blk)
   #     opts = extract_options_from_args!(args) || {}
-  
+
   def extract_options_from_args!(args)
     args.pop if Hash === args.last
   end
@@ -242,6 +245,7 @@ module Kernel
     # define debugger method so that code even works if debugger was not
     # requested
     # Drops a not to the logs that Debugger was not available
+
     def debugger
        Merb.logger.info &quot;\n***** Debugger requested, but was not &quot; + 
                         &quot;available: Start server with --debugger &quot; +</diff>
      <filename>lib/merb-core/core_ext/kernel.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,8 @@
 # This class has dubious semantics and we only have it so that 
 # people can write params[:key] instead of params['key'] 
  
-class Mash &lt; Hash 
+class Mash &lt; Hash
+
   def initialize(constructor = {}) 
     if constructor.is_a?(Hash) 
       super() 
@@ -10,8 +11,8 @@ class Mash &lt; Hash
     else 
       super(constructor) 
     end 
-  end 
- 
+  end
+
   def default(key = nil) 
     if key.is_a?(Symbol) &amp;&amp; include?(key = key.to_s) 
       self[key] 
@@ -21,60 +22,63 @@ class Mash &lt; Hash
   end 
  
   alias_method :regular_writer, :[]= unless method_defined?(:regular_writer) 
-  alias_method :regular_update, :update unless method_defined?(:regular_update) 
- 
+  alias_method :regular_update, :update unless method_defined?(:regular_update)
+
   def []=(key, value) 
     regular_writer(convert_key(key), convert_value(value)) 
-  end 
- 
+  end
+
   def update(other_hash) 
     other_hash.each_pair { |key, value| regular_writer(convert_key(key), convert_value(value)) } 
     self 
   end 
  
-  alias_method :merge!, :update 
- 
+  alias_method :merge!, :update
+
   def key?(key) 
     super(convert_key(key)) 
   end 
  
   alias_method :include?, :key? 
   alias_method :has_key?, :key? 
-  alias_method :member?, :key? 
- 
+  alias_method :member?, :key?
+
   def fetch(key, *extras) 
     super(convert_key(key), *extras) 
-  end 
- 
+  end
+
   def values_at(*indices) 
     indices.collect {|key| self[convert_key(key)]} 
-  end 
- 
+  end
+
   def dup 
     Mash.new(self) 
-  end 
- 
+  end
+
   def merge(hash) 
     self.dup.update(hash) 
-  end 
- 
+  end
+
   def delete(key) 
     super(convert_key(key)) 
-  end 
- 
-  def stringify_keys!; self end 
+  end
+
+  def stringify_keys!; self end
+
   def symbolize_keys!; self end 
  
-  # Convert to a Hash with String keys. 
+  # Convert to a Hash with String keys.
+
   def to_hash 
     Hash.new(default).merge(self) 
   end 
  
-  protected 
+  protected
+
     def convert_key(key) 
       key.kind_of?(Symbol) ? key.to_s : key 
-    end 
- 
+    end
+
     def convert_value(value) 
       case value 
       when Hash </diff>
      <filename>lib/merb-core/core_ext/mash.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,5 @@
+
+
 class Object
 
   # Extracts the singleton class, so that metaprogramming can be done on it.
@@ -46,6 +48,7 @@ class Object
   #
   # For more information, you can check out _why's excellent article at:
   # http://whytheluckystiff.net/articles/seeingMetaclassesClearly.html
+
   def meta_class() class &lt;&lt; self; self end end
   
   # Runs instance_eval on the metaclass (see Object#meta_class).
@@ -57,10 +60,12 @@ class Object
   #   end
   #
   #   String.zoo # =&gt; &quot;zoo&quot;
+
   def meta_eval(&amp;blk) meta_class.instance_eval( &amp;blk ) end
   
   # Defines a method on the metaclass (see Object#meta_class).
   #
+
   #   String.meta_def :zoo do
   #     puts &quot;zoo&quot;
   #   end
@@ -68,22 +73,27 @@ class Object
   #   String.zoo #=&gt; &quot;zoo&quot;
   #
   # If the class inherits from another class, it will only be defined
+
   # on the direct class meta_def is called on.
   #
   #   class Foo; end
   #   class Bar &lt; Foo; end
   #   class Baz &lt; Foo; end
   #
+
   #   Bar.meta_def :q do; &quot;Q&quot;; end
   #   Foo.q #=&gt; undefined method `r' for Foo:Class
   #   Bar.q #=&gt; &quot;Q&quot;
   #   Baz.q #=&gt; undefined method `r' for Baz:Class
   #
+
   # See Object#class_def for a comprehensive example containing meta_def
+
   def meta_def(name, &amp;blk) meta_eval { define_method name, &amp;blk } end
   
   # Defines a method on new instances of the class.
   #
+
   #   String.class_def :zoo do
   #     puts &quot;zoo&quot;
   #   end
@@ -95,14 +105,18 @@ class Object
   #
   # require 'merb_object'
   # class Foo
+
   #   def self.var
   #     @var
   #   end
+
   #   def self.make_var baz
   #     attr_accessor baz
+
   #     meta_def baz do |val|
   #       @var = val
   #     end
+
   #     class_def :initialize do
   #       instance_variable_set(&quot;@#{baz}&quot;, self.class.var)
   #     end
@@ -186,4 +200,4 @@ class Object
     end
   end
 
-end
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/core_ext/object.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,9 @@
+
+
 module ObjectSpace
   
   class &lt;&lt; self
+
     def classes
       klasses = []
       ObjectSpace.each_object(Class) {|o| klasses &lt;&lt; o}</diff>
      <filename>lib/merb-core/core_ext/object_space.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,21 +1,23 @@
+
+
 class Merb::SimpleSet &lt; Hash
 
   def initialize(arr = [])
     arr.each {|x| self[x] = true}
   end
-  
+
   def &lt;&lt;(value)
     self[value] = true
   end
-  
+
   def merge(arr)
     super(arr.inject({}) {|s,x| s[x] = true; s })
   end
-  
+
   def inspect
     &quot;#&lt;SimpleSet: {#{keys.map {|x| x.inspect}.join(&quot;, &quot;)}}&gt;&quot;
   end
   
   alias_method :to_a, :keys
 
-end
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/core_ext/set.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,21 +1,24 @@
 require 'strscan'
-
 class String
+  
   class InvalidPathConversion &lt; Exception; end
 
   # Escapes any characters in the string that would have special meaning in a 
   # regular expression.
   #   $ &quot;\*?{}.&quot;.escape_regexp #=&gt; &quot;\\*\\?\\{\\}\\.&quot;
+
   def escape_regexp
     Regexp.escape self
   end
   
   # &quot;FooBar&quot;.snake_case #=&gt; &quot;foo_bar&quot;
+
   def snake_case
     gsub(/\B[A-Z]/, '_\&amp;').downcase
   end
 
   # &quot;foo_bar&quot;.camel_case #=&gt; &quot;FooBar&quot;
+
   def camel_case
     split('_').map{|e| e.capitalize}.join
   end
@@ -23,6 +26,7 @@ class String
   # &quot;merb/core_ext/string&quot; #=&gt; &quot;Merb::CoreExt::String&quot;
   # 
   # About 50% faster than string.split('/').map{ |s| s.camel_case }.join('::')
+
   def to_const_string
     new_string = &quot;&quot;
     input = StringScanner.new(self.downcase)
@@ -42,13 +46,15 @@ class String
   #
   # ==== Returns
   # String:: The path that is associated with the constantized string
+
   def to_const_path
     snake_case.gsub(/::/, &quot;/&quot;)
   end
 
   # Concatenates a path
   #   $ &quot;merb&quot;/&quot;core_ext&quot; #=&gt; &quot;merb/core_ext&quot;
+
   def /(o)
     File.join(self, o.to_s)
   end
-end
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/core_ext/string.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,5 @@
+
+
 module Merb
 
   # Cookies are read and written through Merb::Controller#cookies. The cookies
@@ -36,6 +38,7 @@ module Merb
 
     # Returns the value of the cookie by +name+ or nil if no such cookie
     # exists. You set new cookies using cookies[]=
+
     def [](name)
       @_cookies[name]
     end
@@ -72,6 +75,7 @@ module Merb
 
     # Removes the cookie on the client machine by setting the value to an empty string
     # and setting its expiration date into the past.
+
     def delete(name, options = {})
       cookie = @_cookies.delete(name)
       options = Mash.new(options)
@@ -82,6 +86,7 @@ module Merb
     end
 
     private
+
       def set_cookie(name, value, options)
         options[:path] = '/' unless options[:path]
         if expiry = options[:expires]</diff>
      <filename>lib/merb-core/dispatch/cookies.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,5 @@
+
+
 class Merb::Dispatcher
   DEFAULT_ERROR_TEMPLATE = File.expand_path(File.dirname(__FILE__) / 'exceptions.html.erb')
   
@@ -23,6 +25,7 @@ class Merb::Dispatcher
     # ==== Returns
     # Array[Merb::Controller, Symbol]::
     #   An array containing the Merb::Controller and the action that was dispatched to.
+
     def handle(rack_env, response)
       start   = Time.now
       request = Merb::Request.new(rack_env)
@@ -92,6 +95,7 @@ class Merb::Dispatcher
     # ==== Returns
     # Array[Merb::Controller, Symbol]::
     #   An array containing the Merb::Controller and the action that was dispatched to.
+
     def dispatch_action(klass, action, request, response, status=200)
       # build controller
       controller = klass.new(request, response, status)
@@ -188,6 +192,7 @@ class Merb::Dispatcher
     # ==== Returns
     # Merb::InternalServerError::
     #   An internal server error wrapper for the exception.
+
     def controller_exception(e)
       e.kind_of?(Merb::ControllerExceptions::Base) ?
         e : Merb::ControllerExceptions::InternalServerError.new(e) </diff>
      <filename>lib/merb-core/dispatch/dispatcher.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,7 @@
+
+
 module Merb
+  
   class Request
     attr_accessor :env, :session, :route_params
     
@@ -13,6 +16,7 @@ module Merb
     # ==== Parameters
     # http_request&lt;~params:~[], ~body:IO&gt;:: 
     #   An object like an HTTP Request.
+
     def initialize(rack_env)
       @env  = rack_env
       @body = rack_env['rack.input']
@@ -20,7 +24,7 @@ module Merb
     end
     
     METHODS = %w{get post put delete head}
-    
+
     def method
       @method ||= begin
         request_method = @env['REQUEST_METHOD'].downcase.to_sym
@@ -44,12 +48,14 @@ module Merb
     # create predicate methods for querying the REQUEST_METHOD
     # get? post? head? put? etc
     METHODS.each do |m|
+
       class_eval &quot;def #{m}?() method == :#{m} end&quot;
     end
     
     private
     
     # A hash of parameters passed from the URL like ?blah=hello
+
     def query_params
       @query_params ||= self.class.query_parse(query_string || '')
     end
@@ -58,6 +64,7 @@ module Merb
     #
     # Ajax calls from prototype.js and other libraries 
     # pass content this way.
+
     def body_params
       @body_params ||= begin
         if content_type &amp;&amp; content_type.match(Merb::Const::FORM_URL_ENCODED_REGEXP) # or content_type.nil?
@@ -65,7 +72,7 @@ module Merb
         end
       end
     end
-    
+
     def body_and_query_params
       # ^-- FIXME a better name for this method
       @body_and_query_params ||= begin
@@ -74,7 +81,7 @@ module Merb
         h.to_mash
       end
     end
-    
+
     def multipart_params
       @multipart_params ||= 
         begin
@@ -87,7 +94,7 @@ module Merb
           raise e
         end
     end
-    
+
     def json_params
       @json_params ||= begin
         if Merb::Const::JSON_MIME_TYPE_REGEXP.match(content_type)
@@ -95,7 +102,7 @@ module Merb
         end
       end
     end
-    
+
     def xml_params
       @xml_params ||= begin
         if Merb::Const::XML_MIME_TYPE_REGEXP.match(content_type)
@@ -105,7 +112,7 @@ module Merb
     end
     
     public
-    
+
     def params
       @params ||= begin
         h = body_and_query_params.merge(route_params)      
@@ -115,11 +122,11 @@ module Merb
         h
       end
     end
-    
+
     def cookies
       @cookies ||= self.class.query_parse(@env[Merb::Const::HTTP_COOKIE], ';,')
     end
-        
+
     def raw_post
       @body.rewind
       res = @body.read
@@ -130,6 +137,7 @@ module Merb
     # Returns true if the request is an Ajax request.
     #
     # Also aliased as the more memorable ajax? and xhr?.
+
     def xml_http_request?
       not /XMLHttpRequest/i.match(@env['HTTP_X_REQUESTED_WITH']).nil?
     end
@@ -137,6 +145,7 @@ module Merb
     alias ajax? :xml_http_request?
     
     # returns the remote IP address if it can find it.
+
     def remote_ip
       return @env['HTTP_CLIENT_IP'] if @env.include?('HTTP_CLIENT_IP')
     
@@ -153,25 +162,29 @@ module Merb
     
     # returns either 'https://' or 'http://' depending on
     # the HTTPS header
+
     def protocol
       ssl? ? 'https://' : 'http://'
     end
     
     # returns true if the request is an SSL request
+
     def ssl?
       @env['HTTPS'] == 'on' || @env['HTTP_X_FORWARDED_PROTO'] == 'https'
     end
     
     # returns the request HTTP_REFERER.
+
     def referer
       @env['HTTP_REFERER']
     end
     
     # returns he request uri.
+
     def uri
       @env['REQUEST_URI']
     end
-    
+
     def user_agent
       @env['HTTP_USER_AGENT']
     end
@@ -227,17 +240,18 @@ module Merb
     def query_string
       @env['QUERY_STRING']  
     end
-    
+
     def content_type
       @env['CONTENT_TYPE']
     end
-    
+
     def content_length
       @content_length ||= @env[Merb::Const::CONTENT_LENGTH].to_i
     end
     
     # Returns the uri without the query string. Strips trailing '/' and reduces
     # duplicate '/' to a single '/'
+
     def path
       path = (uri ? uri.split('?').first : '').squeeze(&quot;/&quot;)
       path = path[0..-2] if (path[-1] == ?/) &amp;&amp; path.size &gt; 1
@@ -245,27 +259,32 @@ module Merb
     end
     
     # returns the PATH_INFO
+
     def path_info
       @path_info ||= Mongrel::HttpRequest.unescape(@env['PATH_INFO'])
     end
     
     # returns the port the server is running on
+
     def port
       @env['SERVER_PORT'].to_i
     end
     
     # returns the full hostname including port
+
     def host
       @env['HTTP_X_FORWARDED_HOST'] || @env['HTTP_HOST'] 
     end
     
     # returns an array of all the subdomain parts of the host.
+
     def subdomains(tld_length = 1)
       parts = host.split('.')
       parts[0..-(tld_length+2)]
     end
     
     # returns the full domain name without the port number.
+
     def domain(tld_length = 1)
       host.split('.').last(1 + tld_length).join('.').sub(/:\d+$/,'')
     end
@@ -277,6 +296,7 @@ module Merb
       #
       # +s+ - String to URL escape.
       #
+
       def escape(s)
         s.to_s.gsub(/([^ a-zA-Z0-9_.-]+)/n) {
           '%'+$1.unpack('H2'*$1.size).join('%').upcase
@@ -289,6 +309,7 @@ module Merb
       #
       # +s+ - String to unescape.
       #
+
       def unescape(s)
         s.tr('+', ' ').gsub(/((?:%[0-9a-fA-F]{2})+)/n){
           [$1.delete('%')].pack('H*')
@@ -311,6 +332,7 @@ module Merb
       FILENAME_REGEX = /Content-Disposition:.* filename=&quot;?([^\&quot;;]*)&quot;?/ni.freeze
       CRLF = &quot;\r\n&quot;.freeze
       EOL = CRLF
+
       def parse_multipart(request,boundary, content_length)
         boundary = &quot;--#{boundary}&quot;
         paramhsh = {}
@@ -386,7 +408,7 @@ module Merb
         }
         paramhsh
       end
-      
+
       def normalize_params(parms, name, val=nil)
         name =~ %r([\[\]]*([^\[\]]+)\]*)
         key = $1 || ''
@@ -405,4 +427,4 @@ module Merb
     end
   end
 end    
-    
+    
\ No newline at end of file</diff>
      <filename>lib/merb-core/dispatch/request.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,6 +3,7 @@ require 'merb-core/dispatch/router/behavior'
 require 'merb-core/dispatch/router/route'
 
 module Merb
+
   class Router
     SEGMENT_REGEXP = /(:([a-z_][a-z0-9_]*|:))/
     SEGMENT_REGEXP_WITH_BRACKETS = /(:[a-z_]+)(\[(\d+)\])?/
@@ -14,21 +15,22 @@ module Merb
     cattr_accessor :routes, :named_routes
     
     class &lt;&lt; self
+
       def append(&amp;block)
         prepare(@@routes, [], &amp;block)
       end
-      
+
       def prepend(&amp;block)
         prepare([], @@routes, &amp;block)
       end
-      
+
       def prepare(first = [], last = [], &amp;block)
         @@routes = []
         yield Behavior.new({}, { :action =&gt; 'index' }) # defaults
         @@routes = first + @@routes + last
         compile
       end
-      
+
       def compiled_statement
         @@compiled_statement = &quot;lambda { |request|\n&quot;
         @@compiled_statement &lt;&lt; &quot;  params = request.params\n&quot;
@@ -38,12 +40,12 @@ module Merb
         @@compiled_statement &lt;&lt; &quot;  end\n&quot;
         @@compiled_statement &lt;&lt; &quot;}&quot;
       end
-      
+
       def compile
         puts &quot;compiled route: #{compiled_statement}&quot; if $DEBUG
         meta_def(:match, &amp;eval(compiled_statement))
       end
-      
+
       def generate(name, params = {}, fallback = {})
         name = name.to_sym
         unless @@named_routes.key? name
@@ -55,4 +57,4 @@ module Merb
     end # self
     
   end
-end
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/dispatch/router.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,19 +1,25 @@
+
+
 module Merb
+  
   class Router
     
     # The Behavior class is an interim route-building class that ties 
     # pattern-matching +conditions+ to output parameters, +params+.
+
     class Behavior
       attr_reader :placeholders, :conditions, :params
       attr_accessor :parent
       
       class &lt;&lt; self
         # Count the number of open parentheses in +string+, up to and including +pos+
+
         def count_parens_up_to(string, pos)
           string[0..pos].gsub(/[^\(]/, '').size
         end
         
         # Concatenate strings and remove regexp end caps
+
         def concat_without_endcaps(string1, string2)
           return nil if !string1 and !string2
           return string1 if string2.nil?
@@ -25,6 +31,7 @@ module Merb
         
         # Join an array's elements into a string using &quot; + &quot; as a joiner, and
         # surround string elements in quotes.
+
         def array_to_code(arr)
           code = ''
           arr.each_with_index do |part, i|
@@ -41,7 +48,7 @@ module Merb
           code
         end
       end # class &lt;&lt; self
-      
+
       def initialize(conditions = {}, params = {}, parent = nil)
         # Must wait until after deducing placeholders to set @params !
         @conditions, @params, @parent = conditions, {}, parent
@@ -51,7 +58,7 @@ module Merb
         deduce_placeholders
         @params.merge! params
       end
-      
+
       def add(path, params = {})
         match(path).to(params)
       end
@@ -59,6 +66,7 @@ module Merb
       # Matches a +path+ and any number of optional request methods as conditions of a route.
       # Alternatively, +path+ can be a hash of conditions, in which case +conditions+ is ignored.
       # Yields a new instance so that sub-matching may occur.
+
       def match(path = '', conditions = {}, &amp;block)
         if path.is_a? Hash
           conditions = path
@@ -67,14 +75,14 @@ module Merb
         end
         match_without_path(conditions, &amp;block)
       end
-      
+
       def match_without_path(conditions = {})
         new_behavior = self.class.new(conditions, {}, self)
         conditions.delete :path if ['', '^$'].include?(conditions[:path])
         yield new_behavior if block_given?
         new_behavior
       end
-      
+
       def to_route(params = {}, &amp;conditional_block)
         @params.merge! params
         Route.new compiled_conditions, compiled_params, self, &amp;conditional_block
@@ -115,15 +123,15 @@ module Merb
         Router.routes &lt;&lt; (route = to_route(params, &amp;conditional_block))
         route
       end
-      
+
       def default_routes(params = {}, &amp;block)
         match(%r{/:controller(/:action(/:id)?)?(\.:format)?}).to(params, &amp;block)
       end
-      
+
       def namespace(name_or_path, &amp;block)
         yield self.class.new(:namespace =&gt; name_or_path.to_s)
       end
-      
+
       def resources(name, options = {})
         namespace = options[:namespace] || merged_params[:namespace] || conditions[:namespace]
         
@@ -182,7 +190,7 @@ module Merb
         
         routes
       end
-      
+
       def resource(name, options = {})
         namespace  = options[:namespace] || merged_params[:namespace] || conditions[:namespace]        
         match_path = namespace ? &quot;/#{namespace}/#{name}&quot; : &quot;/#{name}&quot;
@@ -209,15 +217,15 @@ module Merb
         
         routes
       end
-      
+
       def to_resources(params = {}, &amp;block)
         many_behaviors_to resources_behaviors, params, &amp;block
       end
-      
+
       def to_resource(params = {}, &amp;block)
         many_behaviors_to resource_behaviors, params, &amp;block
       end
-      
+
       def merged_original_conditions
         if parent.nil?
           @original_conditions
@@ -230,7 +238,7 @@ module Merb
           end
         end
       end
-      
+
       def merged_conditions
         if parent.nil?
           @conditions
@@ -243,7 +251,7 @@ module Merb
           end
         end
       end
-      
+
       def merged_params
         if parent.nil?
           @params
@@ -251,7 +259,7 @@ module Merb
           parent.merged_params.merge(@params)
         end
       end
-      
+
       def merged_placeholders
         placeholders = {}
         (ancestors.reverse + [self]).each do |a|
@@ -262,20 +270,21 @@ module Merb
         end
         placeholders
       end
-      
+
       def inspect
         &quot;[captures: #{path_captures.inspect}, conditions: #{@original_conditions.inspect}, params: #{@params.inspect}, placeholders: #{@placeholders.inspect}]&quot;
       end
-      
+
       def regexp?
         @conditions_have_regexp
       end
       
     protected
+
       def namespace_to_name_prefix(name_or_path)
         name_or_path.to_s.tr('/', '_') + '_'
       end
-      
+
       def resources_behaviors(parent = self)
         [
           Behavior.new({ :path =&gt; %r[^/?(\.:format)?$],     :method =&gt; :get },    { :action =&gt; &quot;index&quot; },   parent),
@@ -288,7 +297,7 @@ module Merb
           Behavior.new({ :path =&gt; %r[^/:id(\.:format)?$],   :method =&gt; :delete }, { :action =&gt; &quot;destroy&quot; }, parent)
         ]
       end
-      
+
       def resource_behaviors(parent = self)
         [
           Behavior.new({ :path =&gt; %r{^[;/]new$},        :method =&gt; :get },    { :action =&gt; &quot;new&quot; },     parent),
@@ -303,11 +312,13 @@ module Merb
       # Creates a series of routes from an array of Behavior objects.
       # You can pass in optional +params+, and an optional block that will be
       # passed along to the #to method.
+
       def many_behaviors_to(behaviors, params = {}, &amp;conditional_block)
         behaviors.map { |b| b.to params, &amp;conditional_block }
       end
       
       # Convert conditions to regular expression string sources for consistency
+
       def stringify_conditions
         @conditions_have_regexp = false
         @conditions.each_pair do |k,v|
@@ -326,7 +337,7 @@ module Merb
           end
         end
       end
-      
+
       def copy_original_conditions
         @original_conditions = {}
         @conditions.each_pair do |key, value|
@@ -334,7 +345,7 @@ module Merb
         end
         @original_conditions
       end
-      
+
       def deduce_placeholders
         @conditions.each_pair do |match_key, source|
           while match = SEGMENT_REGEXP.match(source)
@@ -349,7 +360,7 @@ module Merb
           end
         end
       end
-      
+
       def ancestors(list = [])
         if parent.nil?
           list
@@ -361,19 +372,20 @@ module Merb
       end
       
       # Count the number of regexp captures in the :path condition
+
       def path_captures
         return 0 unless conditions[:path]
         Behavior.count_parens_up_to(conditions[:path], conditions[:path].size)
       end
-      
+
       def total_previous_captures
         ancestors.map{|a| a.path_captures}.inject(0){|sum, n| sum + n}
       end
-      
+
       # def merge_with_ancestors
       #   self.class.new(merged_conditions, merged_params)
       # end
-      
+
       def compiled_conditions(conditions = merged_conditions)
         conditions.inject({}) do |compiled,(k,v)|
           compiled.merge k =&gt; Regexp.new(v)
@@ -388,6 +400,7 @@ module Merb
       # 
       #   { :controller =&gt; &quot;'admin/' + matches[:path][1]&quot; }
       #
+
       def compiled_params(params = merged_params, placeholders = merged_placeholders)
         compiled = {}
         params.each_pair do |key, value|</diff>
      <filename>lib/merb-core/dispatch/router/behavior.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,28 +1,36 @@
+
+
 module Merb
+  
   class Router
     # Cache procs for future reference in eval statement
+
     class CachedProc
       @@index = 0
       @@list = []
       
       attr_accessor :cache, :index
-      
+
       def initialize(cache)
         @cache, @index = cache, CachedProc.register(self)
       end
       
       # Make each CachedProc object embeddable within a string
+
       def to_s
         &quot;CachedProc[#{@index}].cache&quot;
       end
       
       class &lt;&lt; self
+
         def register(cached_code)
           CachedProc[@@index] = cached_code
           @@index += 1
           @@index - 1
         end
+
         def []=(index, code) @@list[index] = code end
+
         def [](index) @@list[index] end
       end
     end # CachedProc</diff>
      <filename>lib/merb-core/dispatch/router/cached_proc.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,13 @@
+
+
 module Merb
+  
   class Router
-        
+
     class Route
       attr_reader :conditions, :conditional_block
       attr_reader :params, :behavior, :segments, :index, :symbol
-      
+
       def initialize(conditions, params, behavior = nil, &amp;conditional_block)
         @conditions, @params, @behavior = conditions, params, behavior
         @conditional_block = conditional_block
@@ -12,16 +15,18 @@ module Merb
           @segments = segments_from_path(path)
         end
       end
+
       def allow_fixation? 
         @fixation
       end 
          
-      # Used to disable/enable fixation on a route 
+      # Used to disable/enable fixation on a route
+
       def fixatable(enable=true) 
         @fixation = enable 
         self
       end
-       	
+
       def to_s
         segments.inject('') do |str,seg|
           str &lt;&lt; (seg.is_a?(Symbol) ? &quot;:#{seg}&quot; : seg)
@@ -29,6 +34,7 @@ module Merb
       end
       
       # Registers itself in the Router.routes array
+
       def register
         @index = Router.routes.size
         Router.routes &lt;&lt; self
@@ -36,12 +42,14 @@ module Merb
       end
       
       # Get the symbols out of the segments array
+
       def symbol_segments
         segments.select{ |s| s.is_a?(Symbol) }
       end
       
       # Turn a path into string and symbol segments so it can be reconstructed, as in the
       # case of a named route.
+
       def segments_from_path(path)
         # Remove leading ^ and trailing $ from each segment (left-overs from regexp joining)
         strip = proc { |str| str.gsub(/^\^/, '').gsub(/\$$/, '') }
@@ -56,17 +64,19 @@ module Merb
       end
       
       # Name this route
+
       def name(symbol = nil)
         raise ArgumentError unless (@symbol = symbol).is_a?(Symbol)
         Router.named_routes[@symbol] = self
       end
-      
+
       def regexp?
         behavior.regexp? || behavior.send(:ancestors).any? { |a| a.regexp? }
       end
       
       # Given a hash of +params+, returns a string using the stored route segments
       # for reconstruction of the URL.
+
       def generate(params = {}, fallback = {})
         url = @segments.map do |segment|
           value =
@@ -90,7 +100,7 @@ module Merb
           (value.respond_to?(:to_param) ? value.to_param : value).to_s
         end.join
       end
-      
+
       def if_conditions(params_as_string)
         cond = []
         condition_string = proc do |key, value, regexp_string|
@@ -115,7 +125,7 @@ module Merb
         end
         cond
       end
-      
+
       def compile(first = false)
         code = &quot;&quot;
         default_params = { :action =&gt; &quot;index&quot; }
@@ -137,7 +147,7 @@ module Merb
           code &lt;&lt; &quot;    [#{@index.inspect}, {#{params_as_string}}]\n&quot;
         end
       end
-      
+
       def behavior_trace
         if @behavior
           puts @behavior.send(:ancestors).reverse.map{|a| a.inspect}.join(&quot;\n&quot;); puts @behavior.inspect; puts</diff>
      <filename>lib/merb-core/dispatch/router/route.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,9 @@
+
+
 module Merb
+  
   module SessionMixin
-    
+
     def rand_uuid
       values = [
         rand(0x0010000),
@@ -13,7 +16,7 @@ module Merb
       ]
       &quot;%04x%04x%04x%04x%04x%06x%06x&quot; % values
     end
-    
+
     def needs_new_cookie!
       @_new_cookie = true
     end</diff>
      <filename>lib/merb-core/dispatch/session.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,16 +4,16 @@ require 'openssl'       # to generate the HMAC message digest
 # Most of this code is taken from bitsweat's implementation in rails
 
 module Merb
-  
+
   module SessionMixin #:nodoc:
+
     def self.included(base)
       base.add_hook :before_dispatch do
         Merb.logger.info(&quot;Setting Up Cookie Store Sessions&quot;)
         request.session = Merb::CookieSession.new(cookies[_session_id_key], _session_secret_key)
         @original_session = request.session.read_cookie
-      end  
-      
-      
+      end
+
       base.add_hook :after_dispatch do
         Merb.logger.info(&quot;Finalize Cookie Store Session&quot;)
         new_session = request.session.read_cookie
@@ -23,7 +23,7 @@ module Merb
         end
       end
     end
-    
+
     def session_store_type
       &quot;cookie&quot;
     end
@@ -48,9 +48,11 @@ module Merb
     # AES encrypt marshaled data
     
     # Raised when storing more than 4K of session data.
+
     class CookieOverflow &lt; StandardError; end
     
     # Raised when the cookie fails its integrity check.
+
     class TamperedWithCookie &lt; StandardError; end
     
     # Cookies can typically store 4096 bytes.
@@ -58,7 +60,7 @@ module Merb
     DIGEST = OpenSSL::Digest::Digest.new('SHA1') # or MD5, RIPEMD160, SHA256?
     
     attr_reader :data
-    
+
     def initialize(cookie, secret)
       if secret.nil? or secret.blank?
         raise ArgumentError, 'A secret is required to generate an integrity hash for cookie session data.'
@@ -69,6 +71,7 @@ module Merb
     
     # return a cookie value. raises CookieOverflow if session contains too
     # much information
+
     def read_cookie
       unless @data.nil? or @data.empty? 
         updated = marshal(@data)
@@ -77,37 +80,41 @@ module Merb
       end
     end
     
-    # assigns a key value pair 
+    # assigns a key value pair
+
     def []=(k, v) 
       @data[k] = v
     end
-    
+
     def [](k) 
       @data[k] 
-    end 
-     
+    end
+
     def each(&amp;b) 
       @data.each(&amp;b) 
     end
     
     private
-    
+
     def method_missing(name, *args, &amp;block)
       @data.send(name, *args, &amp;block)
     end
     
     # Generate the HMAC keyed message digest. Uses SHA1.
+
     def generate_digest(data)
       OpenSSL::HMAC.hexdigest(DIGEST, @secret, data)
     end
     
     # Marshal a session hash into safe cookie data. Include an integrity hash.
+
     def marshal(session)
       data = Base64.encode64(Marshal.dump(session)).chop
       Mongrel::HttpRequest.escape &quot;#{data}--#{generate_digest(data)}&quot;
     end
     
     # Unmarshal cookie data to a hash and verify its integrity.
+
     def unmarshal(cookie)
       if cookie
         data, digest = Mongrel::HttpRequest.unescape(cookie).split('--')
@@ -118,4 +125,4 @@ module Merb
       end
     end
   end
-end
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/dispatch/session/cookie.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,8 @@
 require 'memcache_util'
-
 module Merb
 
   module SessionMixin #:nodoc:
 
-    
     def self.included(base)
       base.add_hook :before_dispatch do
         Merb.logger.info(&quot;Setting up session&quot;)
@@ -12,9 +10,8 @@ module Merb
         request.session, cookies[_session_id_key] = Merb::MemCacheSession.persist(cookies[_session_id_key])
         @_fingerprint = Marshal.dump(request.session.data).hash
         @_new_cookie = cookies[_session_id_key] != before
-      end  
-      
-      
+      end
+
       base.add_hook :after_dispatch do
         Merb.logger.info(&quot;Finalize session&quot;)
         if @_fingerprint != Marshal.dump(request.session.data).hash
@@ -46,7 +43,7 @@ module Merb
     attr_accessor :session_id
     attr_accessor :data
     attr_accessor :needs_new_cookie
-    
+
     def initialize(session_id)
       @session_id = session_id
       @data = {}
@@ -54,6 +51,7 @@ module Merb
 
     class &lt;&lt; self
       # Generates a new session ID and creates a row for the new session in the database.
+
       def generate
         sid = Merb::SessionMixin::rand_uuid
         new(sid)
@@ -61,6 +59,7 @@ module Merb
 
       # Gets the existing session based on the &lt;tt&gt;session_id&lt;/tt&gt; available in cookies.
       # If none is found, generates a new session.
+
       def persist(session_id)
         unless session_id.blank?
           session = ::Cache.get(&quot;session:#{session_id}&quot;)
@@ -84,52 +83,59 @@ module Merb
       end
 
       # Don't try to reload in dev mode.
+
       def reloadable? #:nodoc:
         false
       end
 
     end
 
-    # Regenerate the Session ID  
-   	def regenerate 
-   	  @session_id = Merb::SessionMixin::rand_uuid 
-   	  self.needs_new_cookie=true 
-   	end 
-   	 
-   	# Recreates the cookie with the default expiration time 
-   	# Useful during log in for pushing back the expiration date 
-   	def refresh_expiration 
-   	  self.needs_new_cookie=true 
-   	end 
-   	
-   	# Lazy-delete of session data 
-   	def delete  
-   	  @data = {} 
-   	end
+    # Regenerate the Session ID
+
+     def regenerate 
+       @session_id = Merb::SessionMixin::rand_uuid 
+       self.needs_new_cookie=true 
+     end 
+      
+     # Recreates the cookie with the default expiration time 
+     # Useful during log in for pushing back the expiration date
+
+     def refresh_expiration 
+       self.needs_new_cookie=true 
+     end 
+     
+     # Lazy-delete of session data
+
+     def delete  
+       @data = {} 
+     end
 
     # Has the session been loaded yet?
+
     def loaded?
       !! @data
     end
     
-    # assigns a key value pair 
+    # assigns a key value pair
+
     def []=(k, v) 
       @data[k] = v
     end
-    
+
     def [](k) 
       @data[k] 
-    end 
-     
+    end
+
     def each(&amp;b) 
       @data.each(&amp;b) 
     end
     
     private
+
     def method_missing(name, *args, &amp;block)
       @data.send(name, *args, &amp;block)
     end
 
   end
 
-end
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/dispatch/session/memcached.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,9 @@
+
+
 module Merb
-  
+
   module SessionMixin #:nodoc:
-    
+
     def self.included(base)            
       base.add_hook :before_dispatch do
         Merb.logger.info(&quot;Setting up session&quot;)
@@ -15,7 +17,7 @@ module Merb
         set_cookie(_session_id_key, request.session.session_id, _session_expiry) if (@_new_cookie || request.session.needs_new_cookie)
       end
     end
-     
+
     def session_store_type
       &quot;memory&quot;
     end
@@ -31,13 +33,13 @@ module Merb
   #
   # Sessions will remain in memory until the server is stopped or the time
   # as set in :memory_session_ttl expires.
-  
+
   class MemorySession
 
     attr_accessor :session_id
     attr_accessor :data
     attr_accessor :needs_new_cookie
-    
+
     def initialize(session_id)
       @session_id = session_id
       @data = {}
@@ -45,6 +47,7 @@ module Merb
 
     class &lt;&lt; self
       # Generates a new session ID and creates a row for the new session in the database.
+
       def generate
         sid = Merb::SessionMixin::rand_uuid
         MemorySessionContainer[sid] = new(sid)
@@ -52,6 +55,7 @@ module Merb
 
       # Gets the existing session based on the &lt;tt&gt;session_id&lt;/tt&gt; available in cookies.
       # If none is found, generates a new session.
+
       def persist(session_id)
         if session_id
           session = MemorySessionContainer[session_id]
@@ -64,55 +68,61 @@ module Merb
 
     end
 
-    # Regenerate the Session ID  
-   	def regenerate
-   	  new_sid = Merb::SessionMixin::rand_uuid 
-   	  old_sid = @session_id
-   	  MemorySessionContainer[new_sid] = MemorySessionContainer[old_sid]
-   	  @session_id = new_sid
-   	  MemorySessionContainer.delete(old_sid)
-   	  self.needs_new_cookie=true 
-   	end 
-   	 
-   	# Recreates the cookie with the default expiration time 
-   	# Useful during log in for pushing back the expiration date 
-   	def refresh_expiration 
-   	  self.needs_new_cookie=true 
-   	end 
-   	
-   	# Lazy-delete of session data 
-   	def delete
-   	  @data = {} 
-   	end
-   	
+    # Regenerate the Session ID
+
+     def regenerate
+       new_sid = Merb::SessionMixin::rand_uuid 
+       old_sid = @session_id
+       MemorySessionContainer[new_sid] = MemorySessionContainer[old_sid]
+       @session_id = new_sid
+       MemorySessionContainer.delete(old_sid)
+       self.needs_new_cookie=true 
+     end 
+      
+     # Recreates the cookie with the default expiration time 
+     # Useful during log in for pushing back the expiration date
+
+     def refresh_expiration 
+       self.needs_new_cookie=true 
+     end 
+     
+     # Lazy-delete of session data
+
+     def delete
+       @data = {} 
+     end
+     
     # Has the session been loaded yet?
+
     def loaded?
       !! @data
     end
     
-    # assigns a key value pair 
+    # assigns a key value pair
+
     def []=(k, v) 
       @data[k] = v
     end
-    
+
     def [](k) 
       @data[k] 
-    end 
-     
+    end
+
     def each(&amp;b) 
       @data.each(&amp;b) 
     end
     
     private
+
     def method_missing(name, *args, &amp;block)
       @data.send(name, *args, &amp;block)
     end
 
   end
-  
+
   class MemorySessionContainer
     class &lt;&lt; self
-      
+
       def setup(ttl=nil)
         @sessions = Hash.new
         @timestamps = Hash.new
@@ -121,33 +131,32 @@ module Merb
         start_timer
         self
       end
-      
+
       def create(opts={})
         self[opts[:session_id]] = opts[:data]
-      end  
+      end
 
-      
       def [](key)
         @mutex.synchronize {
           @timestamps[key] = Time.now
           @sessions[key]
         }
-      end  
-      
+      end
+
       def []=(key, val) 
         @mutex.synchronize {
           @timestamps[key] = Time.now
           @sessions[key] = val
         } 
       end
-      
+
       def delete(key)
         @mutex.synchronize {
           @sessions.delete(key)
           @timestamps.delete(key)
         }
       end
-      
+
       def reap_old_sessions
         @timestamps.each do |key,stamp|
           if stamp + @session_ttl &lt; Time.now
@@ -155,8 +164,8 @@ module Merb
           end  
         end
         GC.start
-      end  
-      
+      end
+
       def start_timer
         Thread.new do
           loop {
@@ -164,8 +173,8 @@ module Merb
             reap_old_sessions
           } 
         end  
-      end  
-      
+      end
+
       def sessions
         @sessions
       end  </diff>
      <filename>lib/merb-core/dispatch/session/memory.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,12 @@
 require 'erubis'
+
 module Erubis
+  
   class MEruby &lt; Erubis::Eruby
     include PercentLineEnhancer
     include StringBufferEnhancer
   end
+
   def self.load_yaml_file(file, binding = binding)
     YAML::load(Erubis::MEruby.new(IO.read(File.expand_path(file))).result(binding))
   end</diff>
      <filename>lib/merb-core/gem_ext/erubis.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,7 @@
+
+
 module Merb::Hook
+  
   module ClassMethods
     
     # ==== Parameters
@@ -6,6 +9,7 @@ module Merb::Hook
     #
     # ==== Returns
     # An empty _hooks hash
+
     def self.extended(mod)
       mod.cattr_accessor :_hooks
       mod._hooks = Hash.new {|h,k| h[k] = Dictionary.new {|h,k| h[k] = []}}      
@@ -50,6 +54,7 @@ class Class
   #
   # ==== Returns
   # nil
+
   def is_hookable
     self.send(:extend, Merb::Hook::ClassMethods)
     self.send(:include, Merb::Hook::InstanceMethods)</diff>
      <filename>lib/merb-core/hook.rb</filename>
    </modified>
    <modified>
      <diff>@@ -61,8 +61,10 @@ module Merb
 
     # The idea here is that instead of performing an 'if' conditional check
     # on each logging we do it once when the log object is setup
+
     def set_write_method
       @log.instance_eval do
+
         def aio?
           @aio = !Merb.environment.to_s.match(/development|test/) &amp;&amp; 
           !RUBY_PLATFORM.match(/java|mswin/) &amp;&amp;
@@ -186,6 +188,7 @@ module Merb
     #  :fatal, :error, :warn, :info, :debug 
     Levels.each_pair do |name, number|
       class_eval &lt;&lt;-LEVELMETHODS
+
       def #{name}(message = nil, &amp;block)
         self.&lt;&lt;(message, &amp;block) if #{name}?
       end
@@ -198,4 +201,4 @@ module Merb
 
   end
   
-end
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/logger.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,14 +1,19 @@
+
+
 module Merb
+  
   module Plugins
+    
     def self.config
       @config ||= File.exists?(Merb.root / &quot;config&quot; / &quot;plugins.yml&quot;) ? YAML.load(File.read(Merb.root / &quot;config&quot; / &quot;plugins.yml&quot;)) || {} : {}
     end
     
     @rakefiles = []
+
     def self.rakefiles
       @rakefiles
     end
-    
+
     def self.add_rakefiles(*rakefiles)
       @rakefiles += rakefiles
     end</diff>
      <filename>lib/merb-core/plugins.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,7 @@
 require 'rack'
+
 module Merb
+  
   module Rack
     autoload :Application,    &quot;merb-core/rack/application&quot;
     autoload :Adapter,        &quot;merb-core/rack/adapter&quot;</diff>
      <filename>lib/merb-core/rack.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,13 +1,17 @@
+
+
 module Merb
+  
   module Rack
+    
     class Adapter
 
       class &lt;&lt; self
-        
+
         def get(id)
           Object.full_const_get(@adapters[id])
         end
-        
+
         def register(ids, adapter_class)
           @adapters ||= Hash.new
           ids.each { |id| @adapters[id] = &quot;Merb::Rack::#{adapter_class}&quot; }
@@ -26,4 +30,4 @@ module Merb
     Adapter.register %w{webrick},      :WEBrick
     
   end # Rack
-end # Merb
+end # Merb
\ No newline at end of file</diff>
      <filename>lib/merb-core/rack/adapter.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,8 @@
 require 'swiftcore/evented_mongrel'
-
 module Merb
+  
   module Rack
+
     class EventedMongrel &lt; Mongrel
     end
   end</diff>
      <filename>lib/merb-core/rack/adapter/evented_mongrel.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,14 @@
+
+
 module Merb
+  
   module Rack
+    
     class FastCGI
+
       def self.start(opts={})
         Rack::Handler::FastCGI.run(opts[:app])
       end
     end
   end
-end
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/rack/adapter/fcgi.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,13 @@
+
+
 module Merb
+  
   module Rack
+    
     class Console
+
       def params() {} end
+
       def show_routes
         seen = []
         unless Merb::Router.named_routes.empty?
@@ -18,8 +24,9 @@ module Merb
         nil
       end
     end
-    
+
     class Irb
+
       def self.start(opts={})
         m = Merb::Rack::Console.new
         Object.send(:define_method, :merb) {
@@ -36,7 +43,4 @@ module Merb
       end
     end
   end
-end
-
-
-
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/rack/adapter/irb.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,9 +2,12 @@ require 'mongrel'
 require 'rack/handler/mongrel'
 
 module Merb
+
   module Rack
+
     class Mongrel
       # start server on given host and port.
+
       def self.start(opts={})
         server = ::Mongrel::HttpServer.new(opts[:host], opts[:port])
         server.register('/', ::Rack::Handler::Mongrel.new(opts[:app]))
@@ -12,4 +15,4 @@ module Merb
       end
     end
   end
-end
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/rack/adapter/mongrel.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,11 @@
+
+
 module Merb
+  
   module Rack
+    
     class Runner
+
       def self.start(opts={})
         if opts[:runner_code]
           if File.exists?(opts[:runner_code])
@@ -13,6 +18,4 @@ module Merb
       end
     end
   end
-end
-
-
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/rack/adapter/runner.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,11 @@
 require 'thin'
-
 module Merb
+  
   module Rack
+
     class Thin
       # start a Thin server on given host and port.
+
       def self.start(opts={})
         server = ::Thin::Server.new(opts[:host], opts[:port], opts[:app])
         server.silent = true
@@ -11,4 +13,4 @@ module Merb
       end
     end
   end
-end
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/rack/adapter/thin.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,9 +2,12 @@ require 'webrick'
 require 'rack/handler/webrick'
 
 module Merb
+
   module Rack
+
     class WEBrick
       # start WEBrick server on given host and port.
+
       def self.start(opts={})
         options = {
           :Port        =&gt; opts[:port],
@@ -22,4 +25,4 @@ module Merb
       end
     end
   end
-end
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/rack/adapter/webrick.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,12 +1,15 @@
+
+
 module Merb
+  
   module Rack
 
     class Application
+
       def initialize(options={})
         @static_server = ::Rack::File.new(::File.join(Merb.root, &quot;public&quot;))
       end
-      
-      
+
       def call(env)
         path        = env['PATH_INFO'].chomp('/')
         cached_path = (path.empty? ? 'index' : path) + '.html'
@@ -28,11 +31,12 @@ module Merb
       end
       
       # TODO refactor this in File#can_serve?(path) ??
+
       def file_exist?(path)
         full_path = ::File.join(@static_server.root, ::Rack::Utils.unescape(path))
         ::File.file?(full_path) &amp;&amp; ::File.readable?(full_path)
       end
-      
+
       def serve_static(env)
         @static_server.call(env)
       end</diff>
      <filename>lib/merb-core/rack/application.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,9 @@
 require 'etc'
-
 module Merb
+  
   class Server
     class &lt;&lt; self
+
       def start(port, cluster=nil)
         @port = port
         @cluster = cluster
@@ -28,8 +29,8 @@ module Merb
           BootLoader.run
           Merb.adapter.start(Merb::Config.to_hash)
         end
-      end  
-      
+      end
+
       def alive?(port)
         f = &quot;#{Merb.dir_for(:log)}&quot; / &quot;merb.#{port}.pid&quot;
         pid = IO.read(f).chomp.to_i
@@ -38,7 +39,7 @@ module Merb
       rescue
         false
       end
-      
+
       def kill(port, sig=9)
         Merb::BootLoader::BuildFramework.run
         begin
@@ -55,7 +56,7 @@ module Merb
           exit
         end
       end
-      
+
       def daemonize(port)
         fork do
           Process.setsid
@@ -79,7 +80,7 @@ module Merb
           Merb.adapter.start(Merb::Config.to_hash)
         end
       end
-      
+
       def remove_pid_file(port)
         if Merb::Config[:pid_file]
           pidfile = Merb::Config[:pid_file]
@@ -88,7 +89,7 @@ module Merb
         end
         FileUtils.rm(pidfile) if File.exist?(pidfile)
       end
-      
+
       def store_pid(port)
         FileUtils.mkdir_p(Merb.dir_for(:log)) unless File.directory?(Merb.dir_for(:log))
         if Merb::Config[:pid_file]
@@ -101,6 +102,7 @@ module Merb
           
       # Change privileges of the process
       # to the specified user and group.
+
       def change_privilege(user, group=user)
         Merb.logger.info &quot;Changing privileges to #{user}:#{group}&quot;
         </diff>
      <filename>lib/merb-core/server.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,12 @@
 require 'ostruct'
-
 module Merb
+  
   module Test
     # FakeRequest sets up a default enviroment which can be overridden either
-    # by passing and env into initialize or using request['HTTP_VAR'] = 'foo' 
+    # by passing and env into initialize or using request['HTTP_VAR'] = 'foo'
+
     class FakeRequest &lt; Request
+
       def initialize(env = {}, req = StringIO.new)
         env.environmentize_keys!
         env['rack.input'] = req</diff>
      <filename>lib/merb-core/test/fake_request.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,5 @@
+
+
 module Merb::Test::RequestHelper
 
   # ==== Parameters
@@ -16,6 +18,7 @@ module Merb::Test::RequestHelper
   #
   #---
   # @public
+
   def fake_request(env = {}, opt = {})
     if opt[:post_body]
       req = opt[:post_body]
@@ -25,7 +28,7 @@ module Merb::Test::RequestHelper
     end
     Merb::Test::FakeRequest.new(env, req ? StringIO.new(req) : nil)
   end
-  
+
   def dispatch_to(controller_klass, action, params = {}, env = {}, &amp;blk)
     request = fake_request(env, 
       :query_string =&gt; Merb::Responder.params_to_query_string(params))
@@ -39,4 +42,4 @@ module Merb::Test::RequestHelper
     
     controller
   end
-end
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/test/request_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -102,6 +102,7 @@ class Dictionary
 
     # Like #new but the block sets the order.
     #
+
     def new_by(*args, &amp;blk)
       new(*args).order_by(&amp;blk)
     end
@@ -127,6 +128,7 @@ class Dictionary
     #   d = Dictionary.auto
     #   d[&quot;a&quot;][&quot;b&quot;][&quot;c&quot;] = &quot;abc&quot;  #=&gt; { &quot;a&quot;=&gt;{&quot;b&quot;=&gt;{&quot;c&quot;=&gt;&quot;abc&quot;}}}
     #
+
     def auto(*args)
       #AutoDictionary.new(*args)
       leet = lambda { |hsh, key| hsh[key] = new(&amp;leet) }
@@ -432,4 +434,4 @@ class Dictionary
   def to_h
     @hash.dup
   end
-end
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/vendor/facets/dictionary.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,13 @@
+
+
 module Language
+
 module English
 
   # = English Nouns Number Inflection.
   #
   # This module provides english singular &lt;-&gt; plural noun inflections.
+
   module Inflect
 
     @singular_of = {}
@@ -14,6 +18,7 @@ module English
 
     class &lt;&lt; self
       # Define a general exception.
+
       def word(singular, plural=nil)
         plural = singular unless plural
         singular_word(singular, plural)
@@ -21,32 +26,38 @@ module English
       end
 
       # Define a singularization exception.
+
       def singular_word(singular, plural)
         @singular_of[plural] = singular
       end
 
       # Define a pluralization exception.
+
       def plural_word(singular, plural)
         @plural_of[singular] = plural
       end
 
       # Define a general rule.
+
       def rule(singular, plural)
         singular_rule(singular, plural)
         plural_rule(singular, plural)
       end
 
       # Define a singularization rule.
+
       def singular_rule(singular, plural)
         @singular_rules &lt;&lt; [singular, plural]
       end
 
       # Define a plurualization rule.
+
       def plural_rule(singular, plural)
         @plural_rules &lt;&lt; [singular, plural]
       end
 
       # Read prepared singularization rules.
+
       def singularization_rules
         return @singularization_rules if @singularization_rules
         sorted = @singular_rules.sort_by{ |s, p| &quot;#{p}&quot;.size }.reverse
@@ -56,6 +67,7 @@ module English
       end
 
       # Read prepared pluralization rules.
+
       def pluralization_rules
         return @pluralization_rules if @pluralization_rules
         sorted = @plural_rules.sort_by{ |s, p| &quot;#{s}&quot;.size }.reverse
@@ -65,11 +77,13 @@ module English
       end
 
       #
+
       def plural_of
         @plural_of
       end
 
       #
+
       def singular_of
         @singular_of
       end
@@ -79,6 +93,7 @@ module English
       #   &quot;boys&quot;.singular      #=&gt; boy
       #   &quot;tomatoes&quot;.singular  #=&gt; tomato
       #
+
       def singular(word)
         if result = singular_of[word]
           return result.dup
@@ -99,6 +114,7 @@ module English
       #   &quot;boy&quot;.plural     #=&gt; boys
       #   &quot;tomato&quot;.plural  #=&gt; tomatoes
       #
+
       def plural(word)
         if result = plural_of[word]
           return result.dup
@@ -198,8 +214,8 @@ module English
 end
 end
 
-
 class String
+
   def singular
     Language::English::Inflect.singular(self)
   end</diff>
      <filename>lib/merb-core/vendor/facets/inflect.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,5 @@
+
+
 module Merb
   VERSION = '0.9' unless defined?(Merb::VERSION)
 
@@ -8,4 +10,4 @@ module Merb
   # You should never check in to trunk with this changed.  It should
   # stay 'dev'.  Change it to nil in release tags.
   RELEASE = 'dev' unless defined?(Merb::RELEASE)
-end
+end
\ No newline at end of file</diff>
      <filename>lib/merb-core/version.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,7 +5,7 @@ end
 Merb.push_path(:view, File.dirname(__FILE__) / &quot;views&quot;)
 
 class Foo &lt; Merb::Controller
-  
+
   def _template_location(action, type = nil, controller = controller_name)
     &quot;#{action}.#{type}&quot;
   end
@@ -13,9 +13,9 @@ class Foo &lt; Merb::Controller
   def index
     &quot;Hello&quot;
   end
-  
+
   def foo
     render
   end
   
-end
+end
\ No newline at end of file</diff>
      <filename>sample/merb-flat/application.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,7 +8,6 @@ require 'rake/testtask'
 require 'spec/rake/spectask'
 require 'fileutils'
 
-
 require Merb::framework_root+'/tasks'
 include FileUtils
 </diff>
      <filename>sample/merb052app/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,4 @@
 # all your other controllers should inherit from this one to share code.
+
 class Application &lt; Merb::Controller
 end  
\ No newline at end of file</diff>
      <filename>sample/merb052app/app/controllers/application.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,11 +1,15 @@
+
+
 class Exceptions &lt; Application
   
   # handle NotFound exceptions (404)
+
   def not_found
     render :format =&gt; :html
   end
 
   # handle NotAcceptable exceptions (406)
+
   def not_acceptable
     render :format =&gt; :html
   end</diff>
      <filename>sample/merb052app/app/controllers/exceptions.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,12 @@
+
+
 class Foo &lt; Application
-   
+
   def index
     session[:foo] = Time.now
     &quot;hello!&quot;
   end
-  
+
   def hello
     puts session[:foo]
     render</diff>
      <filename>sample/merb052app/app/controllers/foo.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,7 @@
+
+
 module Merb
+  
   module GlobalHelper
     # helpers defined here available to all views.  
   end</diff>
      <filename>sample/merb052app/app/helpers/global_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -18,7 +18,6 @@ $LOAD_PATH.unshift(Merb.root / &quot;lib&quot;)
 ### Uncomment for Sequel ORM
 # use_orm :sequel
 
-
 ### This defines which test framework the generators will use
 ### rspec is turned on by default
 # use_test :test_unit
@@ -38,4 +37,4 @@ $LOAD_PATH.unshift(Merb.root / &quot;lib&quot;)
 #  ### Add dependencies here that must load after the application loads:
 #
 #  # dependency &quot;magic_admin&quot; # this gem uses the app's model classes
-#end
+#end
\ No newline at end of file</diff>
      <filename>sample/merb052app/config/init.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,7 +8,6 @@
 # Set if your app will be hosted in some dir other than the root
 #:path_prefix: &quot;/my_app&quot;
 
-
 # Uncomment if you have more than one ORM or if you need to be specific about
 # which memory store to use. Built-in options are: memory, cookie, or mem_cache
 :session_store: cookie</diff>
      <filename>sample/merb052app/config/merb.yml</filename>
    </modified>
    <modified>
      <diff>@@ -32,4 +32,4 @@ Merb::Router.prepare do |r|
   
   # Change this for your home page to be available at /
   # r.match('/').to(:controller =&gt; 'whatever', :action =&gt;'index')
-end
+end
\ No newline at end of file</diff>
      <filename>sample/merb052app/config/router.rb</filename>
    </modified>
    <modified>
      <diff>@@ -11,5 +11,4 @@ Spec::Runner.configure do |config|
     config.include(Merb::Test::RspecMatchers)
 end
 
-
-### METHODS BELOW THIS LINE SHOULD BE EXTRACTED TO MERB ITSELF
+### METHODS BELOW THIS LINE SHOULD BE EXTRACTED TO MERB ITSELF
\ No newline at end of file</diff>
      <filename>sample/merb052app/spec/spec_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,11 +8,12 @@ class Foo
   end
 
   class_eval &lt;&lt;-EOS
+
     def #{:bar}(x)
       x
     end
   EOS
-  
+
   def baz(x)
     x
   end</diff>
      <filename>simple_benches/define_method.rb</filename>
    </modified>
    <modified>
      <diff>@@ -14,4 +14,4 @@ end
 # eval 1      0.170000   0.000000   0.170000 (  0.180040)
 # eval :sym   0.180000   0.000000   0.180000 (  0.181182)
 # 1           0.010000   0.000000   0.010000 (  0.010743)
-# :sym        0.010000   0.000000   0.010000 (  0.010676)
+# :sym        0.010000   0.000000   0.010000 (  0.010676)
\ No newline at end of file</diff>
      <filename>simple_benches/eval_literal.rb</filename>
    </modified>
    <modified>
      <diff>@@ -106,6 +106,7 @@ class Dictionary
 
     # Like #new but the block sets the order.
     #
+
     def new_by(*args, &amp;blk)
       new(*args).order_by(&amp;blk)
     end
@@ -131,6 +132,7 @@ class Dictionary
     #   d = Dictionary.auto
     #   d[&quot;a&quot;][&quot;b&quot;][&quot;c&quot;] = &quot;abc&quot;  #=&gt; { &quot;a&quot;=&gt;{&quot;b&quot;=&gt;{&quot;c&quot;=&gt;&quot;abc&quot;}}}
     #
+
     def auto(*args)
       #AutoDictionary.new(*args)
       leet = lambda { |hsh, key| hsh[key] = new(&amp;leet) }</diff>
      <filename>simple_benches/hash_assoc.rb</filename>
    </modified>
    <modified>
      <diff>@@ -30,4 +30,4 @@ end
 # instance_methods.include? == true     1.790000   0.010000   1.800000 (  1.805433)
 # intance_method() rescue nil == true   0.010000   0.000000   0.010000 (  0.008334)
 # instance_methods.include? == false    1.810000   0.000000   1.810000 (  1.818613)
-# intance_method() rescue nil == true   0.130000   0.010000   0.140000 (  0.135678)
+# intance_method() rescue nil == true   0.130000   0.010000   0.140000 (  0.135678)
\ No newline at end of file</diff>
      <filename>simple_benches/imethod_exists.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,13 @@
+
+
 module Language
+
 module English
 
   # = English Nouns Number Inflection.
   #
   # This module provides english singular &lt;-&gt; plural noun inflections.
+
   module Inflect
 
     @singular_of = {}
@@ -14,6 +18,7 @@ module English
 
     class &lt;&lt; self
       # Define a general exception.
+
       def word(singular, plural=nil)
         plural = singular unless plural
         singular_word(singular, plural)
@@ -21,32 +26,38 @@ module English
       end
 
       # Define a singularization exception.
+
       def singular_word(singular, plural)
         @singular_of[plural] = singular
       end
 
       # Define a pluralization exception.
+
       def plural_word(singular, plural)
         @plural_of[singular] = plural
       end
 
       # Define a general rule.
+
       def rule(singular, plural)
         singular_rule(singular, plural)
         plural_rule(singular, plural)
       end
 
       # Define a singularization rule.
+
       def singular_rule(singular, plural)
         @singular_rules &lt;&lt; [singular, plural]
       end
 
       # Define a plurualization rule.
+
       def plural_rule(singular, plural)
         @plural_rules &lt;&lt; [singular, plural]
       end
 
       # Read prepared singularization rules.
+
       def singularization_rules
         return @singularization_rules if @singularization_rules
         sorted = @singular_rules.sort_by{ |s, p| &quot;#{p}&quot;.size }.reverse
@@ -56,6 +67,7 @@ module English
       end
 
       # Read prepared pluralization rules.
+
       def pluralization_rules
         return @pluralization_rules if @pluralization_rules
         sorted = @plural_rules.sort_by{ |s, p| &quot;#{s}&quot;.size }.reverse
@@ -65,11 +77,13 @@ module English
       end
 
       #
+
       def plural_of
         @plural_of
       end
 
       #
+
       def singular_of
         @singular_of
       end
@@ -79,6 +93,7 @@ module English
       #   &quot;boys&quot;.singular      #=&gt; boy
       #   &quot;tomatoes&quot;.singular  #=&gt; tomato
       #
+
       def singular(word)
         if result = singular_of[word]
           return result.dup
@@ -99,6 +114,7 @@ module English
       #   &quot;boy&quot;.plural     #=&gt; boys
       #   &quot;tomato&quot;.plural  #=&gt; tomatoes
       #
+
       def plural(word)
         if result = plural_of[word]
           return result.dup
@@ -201,8 +217,8 @@ module English
 end
 end
 
-
 class String
+
   def english_singular
     Language::English::Inflect.singular(self)
   end
@@ -233,6 +249,7 @@ module Inflector
   # New rules are added at the top. So in the example above, the irregular rule for octopus will now be the first of the
   # pluralization and singularization rules that is runs. This guarantees that your rules run before any of the rules that may
   # already have been loaded.
+
   class Inflections
     include Singleton
 
@@ -244,12 +261,14 @@ module Inflector
 
     # Specifies a new pluralization rule and its replacement. The rule can either be a string or a regular expression.
     # The replacement should always be a string that may include references to the matched data from the rule.
+
     def plural(rule, replacement)
       @plurals.insert(0, [rule, replacement])
     end
 
     # Specifies a new singularization rule and its replacement. The rule can either be a string or a regular expression.
     # The replacement should always be a string that may include references to the matched data from the rule.
+
     def singular(rule, replacement)
       @singulars.insert(0, [rule, replacement])
     end
@@ -260,6 +279,7 @@ module Inflector
     # Examples:
     #   irregular 'octopus', 'octopi'
     #   irregular 'person', 'people'
+
     def irregular(singular, plural)
       plural(Regexp.new(&quot;(#{singular[0,1]})#{singular[1..-1]}$&quot;, &quot;i&quot;), '\1' + plural[1..-1])
       singular(Regexp.new(&quot;(#{plural[0,1]})#{plural[1..-1]}$&quot;, &quot;i&quot;), '\1' + singular[1..-1])
@@ -281,6 +301,7 @@ module Inflector
     # Examples:
     #   clear :all
     #   clear :plurals
+
     def clear(scope = :all)
       case scope
         when :all
@@ -368,6 +389,7 @@ module Inflector
   # Examples
   #   &quot;man from the boondocks&quot;.titleize #=&gt; &quot;Man From The Boondocks&quot;
   #   &quot;x-men: the last stand&quot;.titleize #=&gt; &quot;X Men: The Last Stand&quot;
+
   def titleize(word)
     humanize(underscore(word)).gsub(/\b([a-z])/) { $1.capitalize }
   end
@@ -379,6 +401,7 @@ module Inflector
   # Examples
   #   &quot;ActiveRecord&quot;.underscore #=&gt; &quot;active_record&quot;
   #   &quot;ActiveRecord::Errors&quot;.underscore #=&gt; active_record/errors
+
   def underscore(camel_cased_word)
     camel_cased_word.to_s.gsub(/::/, '/').
       gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
@@ -391,6 +414,7 @@ module Inflector
   #
   # Example
   #   &quot;puni_puni&quot; #=&gt; &quot;puni-puni&quot;
+
   def dasherize(underscored_word)
     underscored_word.gsub(/_/, '-')
   end
@@ -401,6 +425,7 @@ module Inflector
   # Examples
   #   &quot;employee_salary&quot; #=&gt; &quot;Employee salary&quot;
   #   &quot;author_id&quot; #=&gt; &quot;Author&quot;
+
   def humanize(lower_case_and_underscored_word)
     lower_case_and_underscored_word.to_s.gsub(/_id$/, &quot;&quot;).gsub(/_/, &quot; &quot;).capitalize
   end
@@ -410,6 +435,7 @@ module Inflector
   # Examples
   #   &quot;ActiveRecord::CoreExtensions::String::Inflections&quot;.demodulize #=&gt; &quot;Inflections&quot;
   #   &quot;Inflections&quot;.demodulize #=&gt; &quot;Inflections&quot;
+
   def demodulize(class_name_in_module)
     class_name_in_module.to_s.gsub(/^.*::/, '')
   end
@@ -432,6 +458,7 @@ module Inflector
   # Examples
   #   &quot;egg_and_hams&quot;.classify #=&gt; &quot;EggAndHam&quot;
   #   &quot;post&quot;.classify #=&gt; &quot;Post&quot;
+
   def classify(table_name)
     # strip out any leading schema name
     camelize(singularize(table_name.to_s.sub(/.*\./, '')))
@@ -456,6 +483,7 @@ module Inflector
   # Examples
   #   &quot;Module&quot;.constantize #=&gt; Module
   #   &quot;Class&quot;.constantize #=&gt; Class
+
   def constantize(camel_cased_word)
     unless /\A(?:::)?([A-Z]\w*(?:::[A-Z]\w*)*)\z/ =~ camel_cased_word
       raise NameError, &quot;#{camel_cased_word.inspect} is not a valid constant name!&quot;</diff>
      <filename>simple_benches/inflector.rb</filename>
    </modified>
    <modified>
      <diff>@@ -43,4 +43,4 @@ end
 # proc   0.350000   0.000000   0.350000 (  0.346125)
 # eval   1.400000   0.000000   1.400000 (  1.407556)
 # gsub   1.330000   0.000000   1.330000 (  1.325826)
-# meth   0.320000   0.000000   0.320000 (  0.320849)
+# meth   0.320000   0.000000   0.320000 (  0.320849)
\ No newline at end of file</diff>
      <filename>simple_benches/proc_eval_gsub.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,6 @@ require 'forwardable'
 
 TIMES = (ARGV[0] || 100_000).to_i
 
-
 hsh = {:x =&gt; true, :y =&gt; true}
 set = Set.new([:x, :y])
 fst = FasterSet.new([:x, :y])
@@ -29,4 +28,4 @@ fst = FasterSet.new([:x, :y])
 # current !included     0.510000   0.000000   0.510000 (  0.508479)
 # hash !included        0.400000   0.000000   0.400000 (  0.400109)
 # set !included         1.050000   0.010000   1.060000 (  1.062367)
-# fasterset !included   0.400000   0.000000   0.400000 (  0.399415)
+# fasterset !included   0.400000   0.000000   0.400000 (  0.399415)
\ No newline at end of file</diff>
      <filename>simple_benches/set_hash.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,4 +10,4 @@ end
 # TIMES == 1_000_000
 #             user     system      total        real
 # split   4.150000   0.010000   4.160000 (  4.155064)
-# match   3.670000   0.000000   3.670000 (  3.683401)
+# match   3.670000   0.000000   3.670000 (  3.683401)
\ No newline at end of file</diff>
      <filename>simple_benches/split_gsub.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,4 +10,4 @@ end
 # TIMES == 1_000_000
 #               user     system      total        real
 # squeeze   1.480000   0.010000   1.490000 (  1.491509)
-# gsub      3.090000   0.010000   3.100000 (  3.107455)
+# gsub      3.090000   0.010000   3.100000 (  3.107455)
\ No newline at end of file</diff>
      <filename>simple_benches/squeeze.rb</filename>
    </modified>
    <modified>
      <diff>@@ -115,4 +115,4 @@ describe Merb::Config do
     Merb::Config[:use_mutex].should == true
   end
   
-end
+end
\ No newline at end of file</diff>
      <filename>spec/private/config/config_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,4 +10,4 @@ describe Merb::Config do
     Merb.start %w( -e selenium -a runner )
     Merb.environment.should == &quot;selenium&quot;
   end  
-end
+end
\ No newline at end of file</diff>
      <filename>spec/private/config/environment_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,8 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
-
 class Foo
+  
   def self.make_meth
+
     class_def :foo do
       &quot;Hello&quot;
     end
@@ -9,6 +10,7 @@ class Foo
 end
 
 describe Object do
+
   it &quot;should use class_def to define a method on the class of an object&quot; do
     Foo.make_meth
     Foo.new.foo.should == &quot;Hello&quot;</diff>
      <filename>spec/private/core_ext/object_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -23,4 +23,4 @@ describe Merb::SimpleSet do
     @s.inspect.should == &quot;#&lt;SimpleSet: {\&quot;Foo\&quot;}&gt;&quot;
   end
   
-end
+end
\ No newline at end of file</diff>
      <filename>spec/private/core_ext/set_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,4 +10,4 @@ describe String, &quot;to_const_string&quot; do
     running { &quot;foo/bar@baz&quot;.to_const_string }.should raise_error(String::InvalidPathConversion)
   end
   
-end
+end
\ No newline at end of file</diff>
      <filename>spec/private/core_ext/string_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,8 @@
 require File.join(File.dirname(__FILE__), &quot;spec_helper&quot;)
 Merb.start %w( -e test -a runner )
+
 module CookiesSpecModule
+  
   def cookie_time(time)
     time.gmtime.strftime(Merb::Const::COOKIE_EXPIRATION_FORMAT)
   end
@@ -93,4 +95,4 @@ describe Merb::Cookies do
     @cookies.delete(:foo)
     @cookies[:foo].should == nil
   end
-end
+end
\ No newline at end of file</diff>
      <filename>spec/private/dispatch/cookies_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1,4 @@
+
+
 class Application &lt; Merb::Controller
 end
\ No newline at end of file</diff>
      <filename>spec/private/dispatch/fixture/app/controllers/application.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,11 +1,15 @@
+
+
 class Exceptions &lt; Application
   
   # handle NotFound exceptions (404)
+  
   def not_found
     render :format =&gt; :html
   end
 
   # handle NotAcceptable exceptions (406)
+  
   def not_acceptable
     render :format =&gt; :html
   end</diff>
      <filename>spec/private/dispatch/fixture/app/controllers/exceptions.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,11 @@
+
+
 class Foo &lt; Application
-  
+
   def index
     &quot;index&quot;
   end
-  
+
   def bar
     render
   end</diff>
      <filename>spec/private/dispatch/fixture/app/controllers/foo.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,7 @@
+
+
 module Merb
+
   module GlobalHelper
     # helpers defined here available to all views.  
   end</diff>
      <filename>spec/private/dispatch/fixture/app/helpers/global_helpers.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,13 +5,11 @@ Gem.path.unshift(Merb.root / &quot;gems&quot;)
 # Make the app's &quot;lib&quot; directory a place where ruby files get &quot;require&quot;d from
 $LOAD_PATH.unshift(Merb.root / &quot;lib&quot;)
 
-
 Merb::Config.use { |c|
   c[:session_store]      = 'cookie'
   c[:session_secret_key] = &quot;2c24532b38b8c46d8acf1b5ed71bdd5426dadd9b&quot;
 }
 
-
 ### Merb doesn't come with database support by default.  You need
 ### an ORM plugin.  Install one, and uncomment one of the following lines,
 ### if you need a database.
@@ -25,7 +23,6 @@ Merb::Config.use { |c|
 ### Uncomment for Sequel ORM
 # use_orm :sequel
 
-
 ### This defines which test framework the generators will use
 ### rspec is turned on by default
 # use_test :test_unit
@@ -45,4 +42,4 @@ Merb::BootLoader.after_app_loads do
   ### Add dependencies here that must load after the application loads:
 
   # dependency &quot;magic_admin&quot; # this gem uses the app's model classes
-end
+end
\ No newline at end of file</diff>
      <filename>spec/private/dispatch/fixture/config/init.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,11 +4,13 @@
 # and that other features (or lack thereof), are not causing tests to fail
 # that would otherwise pass.
 module Merb::Test::Fixtures
+  
   module Abstract
+    
     class Testing &lt; Merb::AbstractController
       self._template_root = File.dirname(__FILE__) / &quot;views&quot;
     end
-  
+
     class TestBeforeFilter &lt; Testing
       before :foo
 
@@ -17,6 +19,7 @@ module Merb::Test::Fixtures
       end
       
       private
+      
       def foo
         @x = &quot;foo filter&quot;
       end    
@@ -30,6 +33,7 @@ module Merb::Test::Fixtures
       end
       
       private
+      
       def foo
         @body = &quot;foo filter&quot;
       end        
@@ -38,81 +42,85 @@ module Merb::Test::Fixtures
     class TestSkipFilter &lt; TestBeforeFilter
       skip_before :foo
     end
-  
+
     class TestBeforeFilterOrder &lt; TestBeforeFilter
       before :bar
-    
+
       def index
         &quot;#{@x}&quot;
       end
     
       private
+      
       def bar
         @x = &quot;bar filter&quot;
       end
     end
-  
+
     class TestAfterFilterOrder &lt; TestAfterFilter
       after :bar
-    
+
       def index
         &quot;index action&quot;
       end
     
       private
+      
       def bar
         @body = &quot;bar filter&quot;
       end
     end
-  
+
     class TestProcFilter &lt; Testing
       before { @x = &quot;proc filter1&quot; }
       before Proc.new { @y = &quot;proc filter2&quot; }
-    
+
       def index
         &quot;#{@x} #{@y}&quot;
       end
     end
-  
+
     class TestExcludeFilter &lt; Testing
       before :foo, :exclude =&gt; :index
       before :bar, :exclude =&gt; [:index]
-    
+
       def index
         &quot;#{@x} #{@y}&quot;
       end
-    
+
       def show
         &quot;#{@x} #{@y}&quot;
       end
     
       private
+      
       def foo
         @x = &quot;foo filter&quot;
       end
-    
+
       def bar
         @y = &quot;bar filter&quot;
       end
     end
-  
+
     class TestOnlyFilter &lt; Testing
       before :foo, :only =&gt; :index
       before :bar, :only =&gt; [:index]
-    
+
       def index
         &quot;#{@x} #{@y}&quot;
       end
-    
+
       def show
         &quot;#{@x} #{@y}&quot;
       end
     
       private
+      
       def foo
         @x = &quot;foo filter&quot;
       end
-    
+
       def bar
         @y = &quot;bar filter&quot;
       end</diff>
      <filename>spec/public/abstract_controller/controllers/filters.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,20 +1,26 @@
+
+
 module Merb::Test::Fixtures
+
   module Abstract
+    
     class RenderIt &lt; Merb::AbstractController
       self._template_root = File.dirname(__FILE__) / &quot;views&quot;
-      
+
       def _template_location(action, type = nil, controller = controller_name)
         &quot;partial/#{File.basename(controller)}/#{action}&quot;
       end
     end
-    
+
     class BasicPartial &lt; RenderIt
+      
       def index
         render
       end
     end
-    
+
     class WithPartial &lt; RenderIt
+      
       def index
         @foo = &quot;With&quot;
         render
@@ -22,48 +28,55 @@ module Merb::Test::Fixtures
     end
 
     class WithNilPartial &lt; RenderIt
+      
       def index
         render
       end      
     end
 
     class WithAsPartial &lt; RenderIt
+      
       def index
         @foo = &quot;With and As&quot;
         render
       end
     end
-    
+
     class PartialWithCollections &lt; RenderIt
+      
       def index
         @foo = %w{ c o l l e c t i o n }
         render
       end
     end
-    
+
     class PartialWithCollectionsAndAs &lt; RenderIt
+      
       def index
         @foo = %w{ c o l l e c t i o n }
         render
       end
-    end    
-    
+    end
+
     class PartialWithLocals &lt; RenderIt
+      
       def index
         @foo, @bar = %w{ local variables }
         render
       end
     end
-    
+
     class PartialWithBoth &lt; RenderIt
+      
       def index
         @foo = %w{ c o l l e c t i o n }
         @delimiter = &quot;-&quot;
         render
       end
     end
-    
+
     class PartialWithWithAndLocals &lt; RenderIt
+      
       def index
         @foo, @bar = &quot;with&quot;, &quot;and locals&quot;
         render
@@ -71,4 +84,4 @@ module Merb::Test::Fixtures
     end
     
   end
-end
+end
\ No newline at end of file</diff>
      <filename>spec/public/abstract_controller/controllers/partial.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,15 @@
+
+
 module Merb::Test::Fixtures
+
   module Abstract
+    
     class Testing &lt; Merb::AbstractController
       self._template_root = File.dirname(__FILE__) / &quot;views&quot;
     end
 
     class RenderString &lt; Testing
+      
       def index
         render &quot;index&quot;
       end
@@ -13,29 +18,30 @@ module Merb::Test::Fixtures
     class RenderStringCustomLayout &lt; RenderString
       layout :custom
     end
-  
+
     class RenderStringAppLayout &lt; RenderString
       self._template_root = File.dirname(__FILE__) / &quot;alt_views&quot;      
-    end  
+    end
 
     class RenderStringControllerLayout &lt; RenderString
       self._template_root = File.dirname(__FILE__) / &quot;alt_views&quot;
     end
-  
+
     class RenderTemplate &lt; Testing
+      
       def index
         render
       end
     end
-  
+
     class RenderTemplateCustomLayout &lt; RenderString
       layout :custom
     end
-  
+
     class RenderTemplateAppLayout &lt; RenderString
       self._template_root = File.dirname(__FILE__) / &quot;alt_views&quot;      
-    end  
-  
+    end
+
     class RenderTemplateControllerLayout &lt; RenderString
       self._template_root = File.dirname(__FILE__) / &quot;alt_views&quot;      
     end  </diff>
      <filename>spec/public/abstract_controller/controllers/render.rb</filename>
    </modified>
    <modified>
      <diff>@@ -48,6 +48,7 @@ describe Merb::AbstractController, &quot; should support before and after filters&quot; do
   
   it &quot;should throw an error if both :exclude and :only are passed to a filter&quot; do
     running { Merb::Test::Fixtures::Abstract.class_eval do
+      
       class TestErrorFilter &lt; Merb::Test::Fixtures::Abstract::Testing
         before :foo, :only =&gt; :index, :exclude =&gt; :show
       end </diff>
      <filename>spec/public/abstract_controller/filter_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,6 +8,7 @@ require File.join(__DIR__, &quot;controllers&quot;, &quot;partial&quot;)
 Merb.start %w( -e test -a runner )
 
 module Merb::Test::Behaviors
+  
   def dispatch_should_make_body(klass, body, action = :index)
     controller = Merb::Test::Fixtures::Abstract.const_get(klass).new
     controller._dispatch(action.to_s)</diff>
      <filename>spec/public/abstract_controller/spec_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,37 +1,42 @@
+
+
 module Merb::Test::Fixtures
+
   module Controllers
+    
     class Testing &lt; Merb::Controller
       self._template_root = File.dirname(__FILE__) / &quot;views&quot;
     end
-  
+
     module Inclusion
-      
+
       def self.included(base)
         base.show_action(:baz)
       end
-      
+
       def baz
         &quot;baz&quot;
       end
-      
+
       def bat
         &quot;bat&quot;
       end
       
     end
-  
+
     class Base &lt; Testing
       include Inclusion
+      
       def index
         &quot;index&quot;
       end
-    
+
       def hidden
         &quot;Bar&quot;
       end
       hide_action :hidden
     end
-    
+
     class BeforeHook &lt; Testing
       add_hook(:before_dispatch) do
         @stuff = &quot;Proc&quot;
@@ -41,43 +46,47 @@ module Merb::Test::Fixtures
         @stuff
       end
     end
-  
+
     class BeforeHookInherit &lt; BeforeHook
+      
       def index
         @stuff
       end
     end
-    
+
     class BeforeHookSymbol &lt; BeforeHook
       add_hook :before_dispatch, :stuff
+      
       def index
         &quot;#{@stuff} #{@stuff2}&quot;
       end
 
       private
+      
       def stuff
         @stuff2 = &quot;Symbol&quot;
       end
     end
-  
+
     class AfterHook &lt; Testing
       add_hook(:after_dispatch) do
         @body = &quot;Proc&quot;
       end
-    
+
       def index
         &quot;&quot;
       end
     end
-  
+
     class AfterHookSymbol &lt; AfterHook
       add_hook(:after_dispatch, :stuff)
-    
+
       def index
         &quot;&quot;
       end
     
       private
+      
       def stuff
         @body += &quot; Symbol&quot;
       end</diff>
      <filename>spec/public/controller/controllers/base.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,21 +1,26 @@
+
+
 module Merb::Test::Fixtures::Controllers
+
   class Testing &lt; Merb::Controller
     self._template_root = File.dirname(__FILE__) / &quot;views&quot;
   end
-  
+
   class Responder &lt; Testing
+    
     def index
       render
     end
   end
-  
+
   class HtmlDefault &lt; Responder; end
-  
+
   class ClassProvides &lt; Responder; 
     provides :xml
   end
-  
+
   class LocalProvides &lt; Responder; 
+    
     def index
       provides :xml
       render</diff>
      <filename>spec/public/controller/controllers/responder.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1,3 @@
+
+
 class Application &lt; Merb::Controller; end
\ No newline at end of file</diff>
      <filename>spec/public/directory_structure/directory/app/controllers/application.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,11 @@
+
+
 class Base &lt; Application
-  
+
   def string
     &quot;String&quot;
   end
-  
+
   def template
     render
   end</diff>
      <filename>spec/public/directory_structure/directory/app/controllers/base.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,14 +1,17 @@
+
+
 class Custom &lt; Application
-  
+
   def string
     &quot;String&quot;
   end
-  
+
   def template
     render
   end
   
   private
+  
   def _template_location(action, type = nil, controller = controller_name)  
     &quot;wonderful/#{action}&quot;
   end</diff>
      <filename>spec/public/directory_structure/directory/app/controllers/custom.rb</filename>
    </modified>
    <modified>
      <diff>@@ -174,4 +174,4 @@ describe Merb::Logger do
 
   end
 
-end
+end
\ No newline at end of file</diff>
      <filename>spec/public/logger/logger_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1 @@
-require File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;..&quot;, &quot;spec_helper&quot;)
+require File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;..&quot;, &quot;spec_helper&quot;)
\ No newline at end of file</diff>
      <filename>spec/public/logger/spec_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1,3 @@
+
+
 class Application &lt; Merb::Controller; end
\ No newline at end of file</diff>
      <filename>spec/public/reloading/directory/app/controllers/application.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,7 @@
+        
+        
         class Reloader &lt; Application
         end
-        
+
         class Hello &lt; Application
-        end
+        end
\ No newline at end of file</diff>
      <filename>spec/public/reloading/directory/app/controllers/reload.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@ require File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;..&quot;, &quot;spec_helper&quot;)
 Merb.start %W( -e test -a runner -m #{File.dirname(__FILE__) / &quot;directory&quot;} )
 
 describe &quot;The reloader&quot; do
-  
+
   def reload!
     Merb::BootLoader::ReloadClasses.reload
   end
@@ -11,9 +11,10 @@ describe &quot;The reloader&quot; do
     @reload_file = File.dirname(__FILE__) / &quot;directory&quot; / &quot;app&quot; / &quot;controllers&quot; / &quot;reload.rb&quot;
     File.open(@reload_file, &quot;w&quot;) do |f|
       @text = &lt;&lt;-END
+        
         class Reloader &lt; Application
         end
-        
+
         class Hello &lt; Application
         end
       END
@@ -32,9 +33,10 @@ describe &quot;The reloader&quot; do
     
     File.open(@reload_file, &quot;w&quot;) do |f|
       f.puts &lt;&lt;-END
+        
         class Reloader &lt; Application
         end
-        
+
         class Reloader2
         end
       END
@@ -50,9 +52,10 @@ describe &quot;The reloader&quot; do
   it &quot;should remove classes for _abstract_subclasses&quot; do
     File.open(@reload_file, &quot;w&quot;) do |f|
       f.puts &lt;&lt;-END
+        
         class Reloader &lt; Application
         end
-        
+
         class Reloader2 &lt; Application
         end
       END</diff>
      <filename>spec/public/reloading/reload_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,13 +2,16 @@ require File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;..&quot;, &quot;spec_helper&quot;)
 require &quot;mongrel&quot;
 
 module Merb
+  
   module Test
+    
     module Multipart
       require 'rubygems'
       require 'mime/types'
 
       class Param
         attr_accessor :key, :value
+        
         def initialize(key, value)
           @key   = key
           @value = value
@@ -21,6 +24,7 @@ module Merb
 
       class FileParam
         attr_accessor :key, :filename, :content
+        
         def initialize(key, filename, content)
           @key      = key
           @filename = filename
@@ -31,7 +35,7 @@ module Merb
           return %(Content-Disposition: form-data; name=&quot;#{key}&quot;; filename=&quot;#{filename}&quot;\r\n) + &quot;Content-Type: #{MIME::Types.type_for(@filename)}\r\n\r\n&quot; + content + &quot;\r\n&quot;
         end
       end
-      
+
       class Post
         BOUNDARY = '----------0xKhTmLbOuNdArY'
         CONTENT_TYPE = &quot;multipart/form-data, boundary=&quot; + BOUNDARY
@@ -40,7 +44,7 @@ module Merb
           @multipart_params = []
           push_params(params)
         end
-        
+
         def push_params(params, prefix = nil)
           params.sort_by {|k| k.to_s}.each do |key, value|
             param_key = prefix.nil? ? key : &quot;#{prefix}[#{key}]&quot;</diff>
      <filename>spec/public/request/multipart_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -163,7 +163,6 @@ describe Merb::Request, &quot; misc&quot; do
     request.domain(2).should == &quot;foo.co.uk&quot;
   end
 
-  
   it &quot;should get the host (with X_FORWARDED_HOST)&quot; do
     request = fake_request({:http_x_forwarded_host =&gt; &quot;www.example.com&quot;})
     request.host.should == &quot;www.example.com&quot;</diff>
      <filename>spec/public/request/request_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,10 @@
 require File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;..&quot;, &quot;spec_helper&quot;)
-
 class SimpleRequest &lt; OpenStruct
+  
   def method
     @table[:method]
   end
+  
   def params
     @table
   end
@@ -18,22 +19,25 @@ def route_to(path, args = {}, protocol = &quot;http://&quot;)
 end
 
 module Merb
+  
   module Test
+    
     module RspecMatchers
 
       class HaveRoute
+        
         def self.build(expected)
           this = new
           this.instance_variable_set(&quot;@expected&quot;, expected)
           this
         end
-    
+
         def matches?(target)
           @target = target
           @errors = []
           @expected.all? { |param, value| @target[param] == value }
         end
-    
+
         def failure_message
           @target.each do |param, value|
             @errors &lt;&lt; &quot;Expected :#{param} to be #{@expected[param].inspect}, but was #{value.inspect}&quot; unless
@@ -42,14 +46,14 @@ module Merb
           @errors &lt;&lt; &quot;Got #{@target.inspect}&quot;
           @errors.join(&quot;\n&quot;)
         end
-    
+
         def negative_failure_message
           &quot;Expected #{@expected.inspect} not to be #{@target.inspect}, but it was.&quot;
         end
-    
+
         def description() &quot;have_route #{@target.inspect}&quot; end
       end
-  
+
       def have_route(expected)
         HaveRoute.build(expected)
       end  </diff>
      <filename>spec/public/router/spec_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -41,5 +41,4 @@ describe &quot;Routes that are restricted based on incoming params&quot; do
     route_to(&quot;/boo/hoo&quot;, :protocol =&gt; &quot;https://&quot;).should have_route(:controller =&gt; &quot;boo&quot;, :action =&gt; &quot;hoo&quot;)
   end
   
-end
-
+end
\ No newline at end of file</diff>
      <filename>spec/public/router/special_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -25,15 +25,19 @@ require File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;..&quot;, &quot;spec_helper&quot;)
 
 # A small structure to hold the templates so we can test the templating system in isolation
 # from the framework
+
 module Merb::Test::Fixtures
   # This is a fake templating engine that just copies the text of the template
   # exactly from the file
+  
   class MyTemplateEngine
+    
     def self.compile_template(path, name, mod)
       text = File.read(path)
       table = { &quot;\r&quot;=&gt;&quot;\\r&quot;, &quot;\n&quot;=&gt;&quot;\\n&quot;, &quot;\t&quot;=&gt;&quot;\\t&quot;, '&quot;'=&gt;'\\&quot;', &quot;\\&quot;=&gt;&quot;\\\\&quot; }      
       text = (text.split(&quot;\n&quot;).map {|x| '&quot;' + (x.gsub(/[\r\n\t&quot;\\]/) { |m| table[m] }) + '&quot;'}).join(&quot; +\n&quot;)
       mod.class_eval &lt;&lt;-EOS, path
+        
         def #{name}
           #{text}
         end
@@ -43,7 +47,7 @@ module Merb::Test::Fixtures
 
   module MyHelpers
   end
-  
+
   class Environment
     include MyHelpers
   end
@@ -58,6 +62,7 @@ describe Merb::Template do
   end
   
   # @semipublic
+  
   def rendering_template(template_path)
     Merb::Template.inline_template(template_path, Merb::Test::Fixtures::MyHelpers)
     Merb::Test::Fixtures::Environment.new.</diff>
      <filename>spec/public/template/template_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -19,10 +19,13 @@ require 'merb-core/test/request_helper'
 #   &quot;expected File but got Tempfile&quot;
 
 module Merb
+  
   module Test
+    
     module RspecMatchers
+      
       class BeKindOf
-  
+
         def initialize(expected) # + args
           @expected = expected
         end
@@ -50,11 +53,15 @@ module Merb
         BeKindOf.new(expected)
       end
     end
-        
+
     module Helper
+      
       def running(&amp;blk) blk; end
+      
       def executing(&amp;blk) blk; end
+      
       def doing(&amp;blk) blk; end
+      
       def calling(&amp;blk) blk; end      
     end
   end</diff>
      <filename>spec/spec_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -24,7 +24,6 @@ Gem::Specification.new do |s|
   s.summary = %q{A modern, pretty RDoc template.}
 end
 
-
 # # Original Rakefile source (requires the Echoe gem):
 # 
 # </diff>
      <filename>tools/allison-2.0.2/allison.gemspec</filename>
    </modified>
    <modified>
      <diff>@@ -127,7 +127,6 @@ function ajaxGet(url) {
   }
 }
 
-
 function addEvent(elm, evType, fn, useCapture) {
 	if (elm.addEventListener) {
 	  elm.addEventListener(evType, fn, useCapture);  </diff>
      <filename>tools/allison-2.0.2/cache/BODY</filename>
    </modified>
    <modified>
      <diff>@@ -127,7 +127,6 @@ function ajaxGet(url) {
   }
 }
 
-
 function addEvent(elm, evType, fn, useCapture) {
 	if (elm.addEventListener) {
 	  elm.addEventListener(evType, fn, useCapture);  </diff>
      <filename>tools/allison-2.0.2/cache/JAVASCRIPT</filename>
    </modified>
    <modified>
      <diff>@@ -13,15 +13,6 @@ padding: 0;
 border: none;
 }
 
-
-
-
-
-
-
-
-
-
 .clear {
 clear: both;
 }
@@ -95,10 +86,6 @@ height: 1px;
 overflow: hidden /* again, ie problem */;
 }
 
-
-
-
-
 #preheader_curve_5{border-left: 1px solid #fff; border-right: 1px solid #fff; width: 898px; _width: 888px; }
 #preheader_curve_4{border-left: 1px solid #fff; border-right: 1px solid #fff; width: 898px; _width: 888px; }
 #preheader_curve_3{border-left: 2px solid #fff; border-right: 2px solid #fff; width: 896px; _width: 888px; }</diff>
      <filename>tools/allison-2.0.2/cache/STYLE</filename>
    </modified>
    <modified>
      <diff>@@ -20,7 +20,6 @@ end
 #  ERGO  ASCII art for other module header
 #  ERGO  why FreeRIDE can't see Rakefile??
 
-
 require 'doc/rdoc_patch'  #  ERGO  move this inside task!
 
 #:stopdoc:</diff>
      <filename>tools/allison-2.0.2/contrib/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -127,7 +127,6 @@ function ajaxGet(url) {
   }
 }
 
-
 function addEvent(elm, evType, fn, useCapture) {
 	if (elm.addEventListener) {
 	  elm.addEventListener(evType, fn, useCapture);  </diff>
      <filename>tools/allison-2.0.2/lib/allison.js</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,8 @@
 
 # RDoc workarounds
+
 class String
+  
   def if_exists (item = nil)
     unless item
       self unless self =~ /(%(\w+)%)/
@@ -9,12 +11,14 @@ class String
       &quot;\nIF:#{item}\n#{self}\nENDIF:#{item}\n&quot;
     end
   end
+  
   def loop(item)
     &quot;\nSTART:#{item}\n#{self}\nEND:#{item}\n&quot;
   end
 end
 
 module RDoc
+  
   module Page
 
     puts &quot;Allison 2 template (c) 2007 Cloudburst, LLC&quot;
@@ -30,6 +34,7 @@ module RDoc
       require 'base64'
 
       # Markaby page says Markaby is better in its own module
+      
       module Allison
         
         FONTS = METHOD_LIST = SRC_PAGE = FILE_PAGE = CLASS_PAGE = &quot;&quot;
@@ -273,4 +278,4 @@ module RDoc
       
   end 
   
-end 
+end 
\ No newline at end of file</diff>
      <filename>tools/allison-2.0.2/lib/allison.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,9 @@
 # thanks Jamis!
+
 class SourceAnnotationExtractor
+  
   class Annotation &lt; Struct.new(:line, :tag, :text)
+    
     def to_s(options={})
       s = &quot;[%3d] &quot; % line
       s &lt;&lt; &quot;[#{tag}] &quot; if options[:tag]
@@ -64,15 +67,15 @@ end
 
 desc &quot;Enumerate all annotations&quot;
 task :notes do
+  SourceAnnotationExtractor.enumerate &quot;OPTIMIZE|FIXME|TODO&quot;, :tag =&gt; true
+end
+
+namespace :notes do
   desc &quot;Enumerate all DOC annotations&quot;
   task :doc do
     SourceAnnotationExtractor.enumerate &quot;DOC&quot;
   end
-  
-  SourceAnnotationExtractor.enumerate &quot;OPTIMIZE|FIXME|TODO&quot;, :tag =&gt; true
-end
 
-namespace :notes do
   desc &quot;Enumerate all OPTIMIZE annotations&quot;
   task :optimize do
     SourceAnnotationExtractor.enumerate &quot;OPTIMIZE&quot;</diff>
      <filename>tools/annotation_extract.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,5 @@
+
+
 class CodeStatistics #:nodoc:
 
   TEST_TYPES = %w(Units Functionals Unit\ tests Functional\ tests Integration\ tests)
@@ -22,6 +24,7 @@ class CodeStatistics #:nodoc:
   end
 
   private
+    
     def calculate_statistics
       @pairs.inject({}) { |stats, pair| stats[pair.first] = calculate_directory_statistics(pair.last); stats }
     end
@@ -42,6 +45,7 @@ class CodeStatistics #:nodoc:
         while line = f.gets
           stats[&quot;lines&quot;]     += 1
           stats[&quot;classes&quot;]   += 1 if line =~ /class [A-Z]/
+          
           stats[&quot;methods&quot;]   += 1 if line =~ /def [a-z]/
           stats[&quot;codelines&quot;] += 1 unless line =~ /^\s*$/ || line =~ /^\s*#/
         end
@@ -104,4 +108,4 @@ class CodeStatistics #:nodoc:
       puts &quot;  Code LOC: #{code}     Test LOC: #{tests}     Code to Test Ratio: 1:#{sprintf(&quot;%.1f&quot;, tests.to_f/code)}&quot;
       puts &quot;&quot;
     end
-  end
+  end
\ No newline at end of file</diff>
      <filename>tools/code_statistics.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,12 +4,10 @@ def make(makedir)
   end
 end
 
-
 def extconf(dir)
   Dir.chdir(dir) do ruby &quot;extconf.rb&quot; end
 end
 
-
 def setup_tests
   Rake::TestTask.new do |t|
     t.libs &lt;&lt; &quot;test&quot;
@@ -18,13 +16,11 @@ def setup_tests
   end
 end
 
-
 def setup_clean otherfiles
   files = ['build/*', '**/*.o', '**/*.so', '**/*.a', 'lib/*-*', '**/*.log'] + otherfiles
   CLEAN.include(files)
 end
 
-
 def setup_rdoc files
   Rake::RDocTask.new do |rdoc|
     rdoc.rdoc_dir = 'doc/rdoc'
@@ -33,7 +29,6 @@ def setup_rdoc files
   end
 end
 
-
 def setup_extension(dir, extension)
   ext = &quot;ext/#{dir}&quot;
   ext_so = &quot;#{ext}/#{extension}.#{Config::CONFIG['DLEXT']}&quot;
@@ -62,7 +57,6 @@ def setup_extension(dir, extension)
   end
 end
 
-
 def base_gem_spec(pkg_name, pkg_version)
   rm_rf &quot;test/coverage&quot;
   pkg_version = pkg_version</diff>
      <filename>tools/rakehelp.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>33f495f7095fa0f2f494b13b8e64959494a8c551</id>
    </parent>
  </parents>
  <author>
    <name>Hampton Catlin</name>
    <email>hcatlin@greed.local</email>
  </author>
  <url>http://github.com/wycats/merb-core/commit/460780b999fdf3c975c5f617615c5cb3ab5ab923</url>
  <id>460780b999fdf3c975c5f617615c5cb3ab5ab923</id>
  <committed-date>2008-02-01T11:31:17-08:00</committed-date>
  <authored-date>2008-02-01T11:31:17-08:00</authored-date>
  <message>Repairing a little of the damage by Hater.

Fixing the tabs and spacing around the code.</message>
  <tree>a9b2ed8a09d4e7e604c898e314bb2d3b8b8940c0</tree>
  <committer>
    <name>Hampton Catlin</name>
    <email>hcatlin@greed.local</email>
  </committer>
</commit>
