<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>merb-gen/spec/fixtures/results/no_modules.test</filename>
    </added>
    <added>
      <filename>merb-gen/spec/fixtures/results/some_modules.test</filename>
    </added>
    <added>
      <filename>merb-gen/spec/fixtures/templates/no_modules.test</filename>
    </added>
    <added>
      <filename>merb-gen/spec/fixtures/templates/some_modules.test</filename>
    </added>
    <added>
      <filename>merb-gen/spec/generator_spec.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,4 +1,4 @@
-require File.join(File.dirname(__FILE__), &quot;..&quot;, 'spec_helper.rb')
+require File.join(File.dirname(__FILE__), &lt;%= go_up(modules.size + 1) %&gt;, 'spec_helper.rb')
 
 describe &lt;%= full_class_name %&gt;, &quot;index action&quot; do
   before(:each) do</diff>
      <filename>merb-gen/lib/generators/templates/component/controller/spec/controllers/%file_name%_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-require File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;test_helper&quot;)
+require File.join(File.dirname(__FILE__), &lt;%= go_up(modules.size + 1) %&gt;, &quot;test_helper&quot;)
 
 # Re-raise errors caught by the controller.
 class &lt;%= full_class_name %&gt;; def rescue_action(e) raise e end; end</diff>
      <filename>merb-gen/lib/generators/templates/component/controller/test/controllers/%file_name%_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-require File.join(File.dirname(__FILE__), &quot;..&quot;, 'spec_helper.rb')
+require File.join(File.dirname(__FILE__), &lt;%= go_up(modules.size + 1) %&gt;, 'spec_helper.rb')
 
 describe Merb::&lt;%= full_class_name %&gt;Helper do
 </diff>
      <filename>merb-gen/lib/generators/templates/component/helper/spec/helpers/%file_name%_helper_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-require File.join( File.dirname(__FILE__), &quot;..&quot;, &quot;spec_helper&quot; )
+require File.join( File.dirname(__FILE__), &lt;%= go_up(modules.size + 1) %&gt;, &quot;spec_helper&quot; )
 
 describe &lt;%= class_name %&gt; do
 </diff>
      <filename>merb-gen/lib/generators/templates/component/model/spec/models/%file_name%_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-require File.join(File.dirname(__FILE__), '..', 'test_helper' )
+require File.join(File.dirname(__FILE__), &lt;%= go_up(modules.size + 1) %&gt;, 'test_helper' )
 
 class &lt;%= test_class_name %&gt; &lt; Test::Unit::TestCase
 </diff>
      <filename>merb-gen/lib/generators/templates/component/model/test/models/%file_name%_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-require File.join(File.dirname(__FILE__), &quot;..&quot;, 'spec_helper.rb')
+require File.join(File.dirname(__FILE__), &lt;%= go_up(modules.size + 1) %&gt;, 'spec_helper.rb')
 
 describe &lt;%= full_class_name %&gt;, &quot;index action&quot; do
   before(:each) do</diff>
      <filename>merb-gen/lib/generators/templates/component/resource_controller/spec/controllers/%file_name%_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-require File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;test_helper&quot;)
+require File.join(File.dirname(__FILE__), &lt;%= go_up(modules.size + 1) %&gt;, &quot;test_helper&quot;)
 
 # Re-raise errors caught by the controller.
 class &lt;%= full_class_name %&gt;; def rescue_action(e) raise e end; end</diff>
      <filename>merb-gen/lib/generators/templates/component/resource_controller/test/controllers/%file_name%_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -19,7 +19,9 @@ module Merb
       end
     
       # Inside a template, wraps a block of code properly in modules, keeping the indentation correct
-      # TODO: spec me
+      # 
+      # @param modules&lt;Array[#to_s]&gt; an array of modules to use for nesting
+      # @option indent&lt;Integer&gt; number of integers to indent the modules by
       def with_modules(modules, options={}, &amp;block)
         indent = options[:indent] || 0
         text = capture(&amp;block)
@@ -32,6 +34,15 @@ module Merb
           concat((&quot;  &quot; * (indent + modules.size - i - 1)) + &quot;end # #{mod}\n&quot;, block.binding)
         end
       end
+      
+      # Returns a string of num times '..', useful for example in tests for namespaced generators
+      # to find the spec_helper higher up in the directory structure.
+      #
+      # @param num&lt;Integer&gt; number of directories up
+      # @return &lt;String&gt; concatenated string 
+      def go_up(num)
+        ([&quot;'..'&quot;] * num).join(', ')
+      end
     
       def self.source_root
         File.join(File.dirname(__FILE__), '..', 'generators', 'templates')</diff>
      <filename>merb-gen/lib/merb-gen/generator.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>48f7e61b84a363c16bf7ca3be23886fa8c08e136</id>
    </parent>
    <parent>
      <id>913ebcd3d3390bd8935121bfa2cece18ecb1b9a2</id>
    </parent>
  </parents>
  <author>
    <name>Michael S. Klishin</name>
    <email>michael@novemberain.com</email>
  </author>
  <url>http://github.com/wycats/merb-more/commit/0232f1c07806a756e22b4a2488fe35101376020c</url>
  <id>0232f1c07806a756e22b4a2488fe35101376020c</id>
  <committed-date>2008-08-08T14:35:02-07:00</committed-date>
  <authored-date>2008-08-08T14:35:02-07:00</authored-date>
  <message>Merge branch 'go_up'

* go_up:
  removed migration invocation from model
  added some documentation
  added go up method and specced with_modules method</message>
  <tree>20ea8a4cd47bcfe2cdbd431858e6ba45fbd02169</tree>
  <committer>
    <name>Michael S. Klishin</name>
    <email>michael@novemberain.com</email>
  </committer>
</commit>
