<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>features/step_definitions/themed_steps.rb</filename>
    </added>
    <added>
      <filename>features/themed_generator.feature</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -2,5 +2,4 @@ require 'rubygems'
 require 'cucumber/rake/task'
 
 Cucumber::Rake::Task.new
-
 task :default =&gt; :cucumber
\ No newline at end of file</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -11,15 +11,15 @@ Given /^I have no stylesheets$/ do
 end
 
 Given /^I generate a theme$/ do
-  generate_layout(:theme)  
+  generate_layout
 end
 
 Given /^I generate a theme with name &quot;([^\&quot;]*)&quot;$/ do |name|
-  generate_layout(:theme, name)
+  generate_layout(name)
 end
 
 Given /^I generate a theme choosing the &quot;([^\&quot;]*)&quot; theme$/ do |theme_name|
-  generate_layout(:theme, :theme =&gt; theme_name)
+  generate_layout(:theme =&gt; theme_name)
 end
 
 Then /^I should have a layout named &quot;([^\&quot;]*)&quot;$/ do |filename|
@@ -31,7 +31,7 @@ Then /^I should have a stylesheet named &quot;([^\&quot;]*)&quot;$/ do |filename|
 end
 
 Given /^I generate a theme without layout choosing the &quot;([^\&quot;]*)&quot; theme$/ do |theme_name|
-  generate_layout(:theme, :theme =&gt; theme_name, :no_layout =&gt; true )
+  generate_layout(:theme =&gt; theme_name, :no_layout =&gt; true )
 end
 
 Then /^I should not have any layouts$/ do
@@ -39,7 +39,7 @@ Then /^I should not have any layouts$/ do
 end
 
 Given /^I generate a theme with application name &quot;([^\&quot;]*)&quot;$/ do |name|
-  generate_layout(:theme, :app_name =&gt; name )
+  generate_layout(:app_name =&gt; name )
 end
 
 Then /^the layout &quot;([^\&quot;]*)&quot; should have &quot;([^\&quot;]*)&quot; as page title$/ do |layout, title|
@@ -47,7 +47,7 @@ Then /^the layout &quot;([^\&quot;]*)&quot; should have &quot;([^\&quot;]*)&quot; as page title$/ do |layout,
 end
 
 Given /^I generate a theme for signin and signup$/ do
-  generate_layout(:theme, :layout_type =&gt; :sign)
+  generate_layout(:layout_type =&gt; :sign)
 end
 
 Then /^I should have a layout named &quot;([^\&quot;]*)&quot; with just a box$/ do |layout|</diff>
      <filename>features/step_definitions/layout_steps.rb</filename>
    </modified>
    <modified>
      <diff>@@ -24,12 +24,28 @@ module GeneratorHelpers
     FileUtils.rm_rf(File.join(@app_root, &quot;public&quot;, &quot;stylesheets&quot;))
   end
   
-  def generate_layout(*args)
+  def generate(*args)
     options = !args.empty? &amp;&amp; args.last.is_a?(Hash) ? args.pop : {}
     options.merge!({:destination =&gt; @app_root, :quiet =&gt; true})    
     Rails::Generator::Scripts::Generate.new.run(args, options)
   end
   
+  def generate_layout(*args)
+    generate(:theme, *args)
+  end
+  
+  def generate_views(*args)
+    generate(:themed, *args)
+  end
+  
+  def generate_model(model_name)
+    Object.const_get(model_name)
+  rescue NameError
+    Object.const_set(model_name, Class.new)
+    klass = Object.const_get(model_name)
+    def klass.columns; []; end
+  end
+  
   def layouts_count
     Dir[File.join(@app_root, &quot;app&quot;, &quot;views&quot;, &quot;layouts&quot;, &quot;**&quot;, &quot;*.erb&quot;)].size
   end
@@ -38,6 +54,10 @@ module GeneratorHelpers
     File.exists?(File.join(@app_root, &quot;app&quot;, &quot;views&quot;, &quot;layouts&quot;, filename))
   end
   
+  def view_exists?(view_path)
+    File.exists?(File.join(@app_root, &quot;app&quot;, &quot;views&quot;, view_path))
+  end
+  
   def stylesheet_exists?(relative_path)
     File.exists?(File.join(@app_root, &quot;public&quot;, &quot;stylesheets&quot;, relative_path)).should be_true
   end</diff>
      <filename>features/support/env.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,7 +12,9 @@
       &lt;table class=&quot;table&quot;&gt;
         &lt;tr&gt;             
           &lt;th class=&quot;first&quot;&gt;ID&lt;/th&gt;
-          &lt;th&gt;&lt;%= columns.first.name.capitalize %&gt;&lt;/th&gt;
+					&lt;% unless columns.empty? -%&gt;
+					&lt;th&gt;&lt;%= columns.first.name.capitalize %&gt;&lt;/th&gt;
+					&lt;% end -%&gt;
           &lt;th&gt;Created at&lt;/th&gt;
           &lt;th class=&quot;last&quot;&gt;&amp;nbsp;&lt;/th&gt;
         &lt;/tr&gt;
@@ -21,10 +23,12 @@
           &lt;td&gt;
             &lt;%%= &lt;%= resource_name %&gt;.id %&gt;
           &lt;/td&gt;
-          &lt;td&gt;
-            &lt;%%= link_to &lt;%= resource_name %&gt;.&lt;%= columns.first.name %&gt;, &lt;%= singular_controller_routing_path %&gt;_path(&lt;%= resource_name %&gt;) %&gt;
-          &lt;/td&gt;
-          &lt;td&gt;
+					&lt;% unless columns.empty? -%&gt;
+					&lt;td&gt;
+						&lt;%%= link_to &lt;%= resource_name %&gt;.&lt;%= columns.first.name %&gt;, &lt;%= singular_controller_routing_path %&gt;_path(&lt;%= resource_name %&gt;) %&gt;
+					&lt;/td&gt;
+					&lt;% end -%&gt;
+					&lt;td&gt;
             &lt;%%= &lt;%= resource_name %&gt;.created_at %&gt;
           &lt;/td&gt;
           &lt;td class=&quot;last&quot;&gt;</diff>
      <filename>rails_generators/themed/templates/view_tables.html.erb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>330bc05509035e3387b78c0296ca37879073b8b8</id>
    </parent>
  </parents>
  <author>
    <name>Andrea Franz</name>
    <email>andrea@gravityblast.com</email>
  </author>
  <url>http://github.com/pilu/web-app-theme/commit/821f1ab9cc79c89943dbae0a711cdebd4d5a78c9</url>
  <id>821f1ab9cc79c89943dbae0a711cdebd4d5a78c9</id>
  <committed-date>2009-08-27T06:36:48-07:00</committed-date>
  <authored-date>2009-08-27T06:36:48-07:00</authored-date>
  <message>added themed generator features</message>
  <tree>1e5f654fe2d7d1a4fc9869e04563bdbaa4d6ed3e</tree>
  <committer>
    <name>Andrea Franz</name>
    <email>andrea@gravityblast.com</email>
  </committer>
</commit>
