<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>merb-core/lib/merb-core/core_ext/class.rb</filename>
    </added>
    <added>
      <filename>merb-gen/lib/generators/templates/application/common/merb_thor/app_script.rb</filename>
    </added>
    <added>
      <filename>merb-gen/lib/generators/templates/application/common/merb_thor/common.rb</filename>
    </added>
    <added>
      <filename>merb-gen/lib/generators/templates/application/common/merb_thor/gem_ext.rb</filename>
    </added>
    <added>
      <filename>merb-gen/lib/generators/templates/application/common/merb_thor/main.thor</filename>
    </added>
    <added>
      <filename>merb-gen/lib/generators/templates/application/common/merb_thor/ops.rb</filename>
    </added>
    <added>
      <filename>merb-gen/lib/generators/templates/application/common/merb_thor/utils.rb</filename>
    </added>
    <added>
      <filename>merb-gen/lib/generators/thor.rb</filename>
    </added>
    <added>
      <filename>merb-gen/lib/merb-gen/templater.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -31,7 +31,6 @@ merb_release = {
     ],
   &quot;merb&quot; =&gt;
     [
-      &quot;merb&quot;,
       &quot;merb-action-args&quot;,
       &quot;merb-assets&quot;,
       &quot;merb-slices&quot;,
@@ -42,9 +41,10 @@ merb_release = {
       &quot;merb-haml&quot;,
       &quot;merb-helpers&quot;,
       &quot;merb-mailer&quot;,
-      &quot;merb-more&quot;,
       &quot;merb-param-protection&quot;,
       &quot;merb_datamapper&quot;,
+      &quot;merb&quot;,
+      &quot;merb-more&quot;
     ]
 }
 </diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -32,27 +32,29 @@ module Merb::Template
       path.gsub(/[^\.a-zA-Z0-9]/, &quot;__&quot;).gsub(/\./, &quot;_&quot;)
     end
 
-    # For a given path, get an IO object that responds to #path.
-    #
-    # This is so that plugins can override this if they provide
-    # mechanisms for specifying templates that are not just simple
-    # files. The plugin is responsible for ensuring that the fake
-    # path provided will work with #template_for, and thus the
-    # RenderMixin in general.
-    #
-    # ==== Parameters
-    # path&lt;String&gt;:: A full path to find a template for. This is the
-    #   path that the RenderMixin assumes it should find the template
-    #   in.
-    # 
-    # ==== Returns
-    # IO#path:: An IO object that responds to path (File or VirtualFile).
-    #
-    # :api: plugin
-    # @overridable
-    def load_template_io(path)
-      file = Dir[&quot;#{path}.{#{template_extensions.join(',')}}&quot;].first
-      File.open(file, &quot;r&quot;) if file
+    chainable do
+      # For a given path, get an IO object that responds to #path.
+      #
+      # This is so that plugins can override this if they provide
+      # mechanisms for specifying templates that are not just simple
+      # files. The plugin is responsible for ensuring that the fake
+      # path provided will work with #template_for, and thus the
+      # RenderMixin in general.
+      #
+      # ==== Parameters
+      # path&lt;String&gt;:: A full path to find a template for. This is the
+      #   path that the RenderMixin assumes it should find the template
+      #   in.
+      # 
+      # ==== Returns
+      # IO#path:: An IO object that responds to path (File or VirtualFile).
+      #
+      # :api: plugin
+      # @overridable
+      def load_template_io(path)
+        file = Dir[&quot;#{path}.{#{template_extensions.join(',')}}&quot;].first
+        File.open(file, &quot;r&quot;) if file
+      end
     end
 
     # Get the name of the template method for a particular path.</diff>
      <filename>merb-core/lib/merb-core/controller/template.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,3 +7,4 @@ end
 
 require File.dirname(__FILE__) / &quot;core_ext&quot; / &quot;kernel&quot;
 require File.dirname(__FILE__) / &quot;core_ext&quot; / &quot;hash&quot;
+require File.dirname(__FILE__) / &quot;core_ext&quot; / &quot;class&quot;
\ No newline at end of file</diff>
      <filename>merb-core/lib/merb-core/core_ext.rb</filename>
    </modified>
    <modified>
      <diff>@@ -45,11 +45,6 @@ module Merb
       #
 
       empty_directory :gems, 'gems'
-      file :thorfile do |file|
-        file.source      = File.join(common_templates_dir, &quot;merb.thor&quot;)
-        file.destination = &quot;merb.thor&quot;
-      end
-
       template :rakefile do |template|
         template.source = File.join(common_templates_dir, &quot;Rakefile&quot;)
         template.destination = &quot;Rakefile&quot;
@@ -71,6 +66,11 @@ module Merb
         directory.source      = File.join(source_root, dir)
         directory.destination = dir
       end
+      
+      directory :thor_file do |directory|
+        directory.source = File.join(common_templates_dir, &quot;merb_thor&quot;)
+        directory.destination = File.join(&quot;tasks&quot;, &quot;merb.thor&quot;)
+      end
 
       #
       # ==== Layout specific things</diff>
      <filename>merb-gen/lib/generators/merb/merb_core.rb</filename>
    </modified>
    <modified>
      <diff>@@ -45,11 +45,6 @@ module Merb
       #
 
       empty_directory :gems, 'gems'
-      file :thorfile do |file|
-        file.source      = File.join(common_templates_dir, &quot;merb.thor&quot;)
-        file.destination = &quot;merb.thor&quot;
-      end
-
       template :rakefile do |template|
         template.source = File.join(common_templates_dir, &quot;Rakefile&quot;)
         template.destination = &quot;Rakefile&quot;
@@ -66,6 +61,11 @@ module Merb
         directory.source      = File.join(source_root, dir)
         directory.destination = dir
       end
+      
+      directory :thor_file do |directory|
+        directory.source = File.join(common_templates_dir, &quot;merb_thor&quot;)
+        directory.destination = File.join(&quot;tasks&quot;, &quot;merb.thor&quot;)
+      end
 
       #
       # ==== Layout specific things</diff>
      <filename>merb-gen/lib/generators/merb/merb_flat.rb</filename>
    </modified>
    <modified>
      <diff>@@ -49,11 +49,6 @@ module Merb
       #
 
       empty_directory :gems, 'gems'
-      file :thorfile do |file|
-        file.source      = File.join(common_templates_dir, &quot;merb.thor&quot;)
-        file.destination = &quot;tasks/merb.thor&quot;
-      end
-
       template :rakefile do |template|
         template.source = File.join(common_templates_dir, &quot;Rakefile&quot;)
         template.destination = &quot;Rakefile&quot;
@@ -79,6 +74,11 @@ module Merb
         file.destination = 'public/javascripts/jquery.js'
       end
 
+      directory :thor_file do |directory|
+        directory.source = File.join(common_templates_dir, &quot;merb_thor&quot;)
+        directory.destination = File.join(&quot;tasks&quot;, &quot;merb.thor&quot;)
+      end
+
       directory :test_dir do |directory|
         dir = testing_framework == :rspec ? &quot;spec&quot; : &quot;test&quot;
 </diff>
      <filename>merb-gen/lib/generators/merb/merb_stack.rb</filename>
    </modified>
    <modified>
      <diff>@@ -49,16 +49,16 @@ module Merb
         directory.destination = dir
       end
 
+      directory :thor_file do |directory|
+        directory.source = File.join(common_templates_dir, &quot;merb_thor&quot;)
+        directory.destination = File.join(&quot;tasks&quot;, &quot;merb.thor&quot;)
+      end
+
       template :rakefile do |template|
         template.source = File.join(common_templates_dir, &quot;Rakefile&quot;)
         template.destination = &quot;Rakefile&quot;
       end
 
-      file :thorfile do |file|
-        file.source      = File.join(common_templates_dir, &quot;merb.thor&quot;)
-        file.destination = &quot;merb.thor&quot;
-      end
-
       def class_name
         self.name.gsub(&quot;-&quot;, &quot;_&quot;).camel_case
       end</diff>
      <filename>merb-gen/lib/generators/merb/merb_very_flat.rb</filename>
    </modified>
    <modified>
      <diff>@@ -15,4 +15,8 @@ schema/*.db
 src/*
 .hgignore
 .hg/*
-.svn/*
\ No newline at end of file
+.svn/*
+gems/gems/*/
+gems/specifications/*
+!gems/gems/thor*/
+!gems/specifications/thor*
\ No newline at end of file</diff>
      <filename>merb-gen/lib/generators/templates/application/common/dotgitignore</filename>
    </modified>
    <modified>
      <diff>@@ -6,6 +6,7 @@ require 'templater'
 
 path = File.join(File.dirname(__FILE__))
 
+require path / &quot;merb-gen&quot;   / &quot;templater&quot;
 require path / &quot;merb-gen&quot;   / &quot;generator&quot;
 require path / &quot;merb-gen&quot;   / &quot;named_generator&quot;
 require path / &quot;merb-gen&quot;   / &quot;namespaced_generator&quot;
@@ -24,6 +25,7 @@ require path / &quot;generators&quot; / &quot;model&quot;
 require path / &quot;generators&quot; / &quot;resource_controller&quot;
 require path / &quot;generators&quot; / &quot;resource&quot;
 require path / &quot;generators&quot; / &quot;layout&quot;
+require path / &quot;generators&quot; / &quot;thor&quot;
 
 Templater::Discovery.discover!(&quot;merb-gen&quot;)
 </diff>
      <filename>merb-gen/lib/merb-gen.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>merb-gen/lib/generators/templates/application/common/merb.thor</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>14e5d1d55b2709f19369d30cc5f8c720b1dce137</id>
    </parent>
  </parents>
  <author>
    <name>Yehuda Katz</name>
    <email>wycats@gmail.com</email>
  </author>
  <url>http://github.com/wycats/merb/commit/2435f86119ff923676d68d73fb47f4b1fb3df7e7</url>
  <id>2435f86119ff923676d68d73fb47f4b1fb3df7e7</id>
  <committed-date>2008-12-15T17:45:37-08:00</committed-date>
  <authored-date>2008-12-15T17:45:37-08:00</authored-date>
  <message>Updates merb-gen to supply the merb.thor directory and hack around some issues with templater</message>
  <tree>68b0eac3d46575b362e433d28cb257a8da0d0dbb</tree>
  <committer>
    <name>Yehuda Katz</name>
    <email>wycats@gmail.com</email>
  </committer>
</commit>
