<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>merb_activerecord/activerecord_generators/migration/templates/schema/migrations/%migration_file_name%.rb</filename>
    </added>
    <added>
      <filename>merb_activerecord/activerecord_generators/model/templates/app/models/%model_file_name%.rb</filename>
    </added>
    <added>
      <filename>merb_activerecord/activerecord_generators/resource_controller/templates/app/controllers/%controller_file_name%.rb</filename>
    </added>
    <added>
      <filename>merb_activerecord/activerecord_generators/resource_controller/templates/app/helpers/%controller_file_name%_helper.rb</filename>
    </added>
    <added>
      <filename>merb_activerecord/activerecord_generators/resource_controller/templates/app/views/%controller_file_name%/edit.html.erb</filename>
    </added>
    <added>
      <filename>merb_activerecord/activerecord_generators/resource_controller/templates/app/views/%controller_file_name%/index.html.erb</filename>
    </added>
    <added>
      <filename>merb_activerecord/activerecord_generators/resource_controller/templates/app/views/%controller_file_name%/new.html.erb</filename>
    </added>
    <added>
      <filename>merb_activerecord/activerecord_generators/resource_controller/templates/app/views/%controller_file_name%/show.html.erb</filename>
    </added>
    <added>
      <filename>merb_sequel/sequel_generators/database_sessions_migration/USAGE</filename>
    </added>
    <added>
      <filename>merb_sequel/sequel_generators/database_sessions_migration/database_sessions_migration_generator.rb</filename>
    </added>
    <added>
      <filename>merb_sequel/sequel_generators/database_sessions_migration/templates/sessions_migration.erb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,4 +1,4 @@
-Copyright (c) 2007 YOUR NAME
+Copyright (c) 2007 Duane Johnson
 
 Permission is hereby granted, free of charge, to any person obtaining
 a copy of this software and associated documentation files (the</diff>
      <filename>merb_activerecord/LICENSE</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,11 @@
-require 'merb'
-class DatabaseSessionsMigrationGenerator &lt; RubiGen::Base
+class DatabaseSessionsMigrationGenerator &lt; Merb::GeneratorBase
   
   default_options :author =&gt; nil
 
   def initialize(runtime_args, runtime_options = {})
+    # put somthing into the runtime_args so that super doesn't show the 
+    # description
+    runtime_args.push &quot;&quot;
     super
     @name = 'database_sessions'
   end</diff>
      <filename>merb_activerecord/activerecord_generators/database_sessions_migration/database_sessions_migration_generator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,14 +1,42 @@
-require 'merb/generators/merb_generator_helpers'
-
-class MigrationGenerator &lt; Merb::GeneratorHelpers::MigrationGeneratorBase
+class MigrationGenerator &lt; Merb::GeneratorBase
+  attr_reader :model_attributes, :model_class_name, :model_file_name, :table_name
   
-  def initialize( *args )
-    super( *args )
-    @migration_template_name = &quot;new_migration.erb&quot;
+  def initialize(args, runtime_args = {})
+    @base =                 File.dirname(__FILE__)
+    super
+    @model_file_name  =      args.shift.snake_case
+    @table_name       =      @model_file_name.pluralize
+    @model_class_name =     @model_file_name.to_const_string
+    @model_attributes =     Hash[*(args.map{|a| a.split(&quot;:&quot;) }.flatten)]
   end
   
-  def self.superclass
-    RubiGen::Base
-  end
+  def manifest
+    record do |m|
+      @m = m
+      
+      m.directory &quot;schema/migrations&quot;
+      
+      current_migration_number = Dir[Dir.pwd+'/schema/migrations/*'].map{|f| File.basename(f) =~ /^(\d+)/; $1}.max
+      @migration_file_name = format(&quot;%03d_%s&quot;, (current_migration_number.to_i+1), model_file_name) + &quot;_migration&quot;
     
+      @assigns = {  :model_file_name  =&gt; model_file_name, 
+                    :model_attributes =&gt; model_attributes,
+                    :model_class_name =&gt; model_class_name,
+                    :table_name       =&gt; table_name,
+                    :migration_file_name =&gt; @migration_file_name
+                  }
+      copy_dirs
+      copy_files
+    end
+  end
+  
+  protected
+  def banner
+    &lt;&lt;-EOS.split(&quot;\n&quot;).map{|x| x.strip}.join(&quot;\n&quot;)
+      Creates an Active Record Migration stub..
+
+      USAGE: #{spec.name}&quot;
+    EOS
+  end
+      
 end
\ No newline at end of file</diff>
      <filename>merb_activerecord/activerecord_generators/migration/migration_generator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,16 +1,41 @@
-require 'merb/generators/merb_generator_helpers'
-
-class ModelGenerator &lt; Merb::GeneratorHelpers::ModelGeneratorBase
+class ModelGenerator &lt; Merb::GeneratorBase
+  attr_reader :model_attributes, :model_class_name, :model_file_name, :migration_args
   
-  def initialize( *args )
-    super( *args )
-    @model_template_name = &quot;new_model.erb&quot;
-    @migration_generator_name = &quot;migration&quot;
-    @model_test_generator_name = &quot;merb_model_test&quot;
+  def initialize(args, runtime_args = {})
+    @base =                 File.dirname(__FILE__)
+    @migration_args = args.dup
+    super
+    @model_file_name =      args.shift.snake_case
+    @model_class_name =     @model_file_name.to_const_string
+    @model_attributes =     Hash[*(args.map{|a| a.split(&quot;:&quot;) }.flatten)]
+    @model_file_name =      &quot;#{@model_class_name.snake_case}&quot;
+    
+    
   end
   
-  def self.superclass
-    RubiGen::Base
-  end
+  def manifest
+    record do |m|
+      @m = m
     
+      @assigns = {  :model_file_name  =&gt; model_file_name, 
+                    :model_attributes =&gt; model_attributes,
+                    :model_class_name =&gt; model_class_name
+                  }
+      copy_dirs
+      copy_files
+      
+      m.dependency &quot;migration&quot;, [*self.migration_args]
+      m.dependency &quot;merb_model_test&quot;, [model_file_name], @assigns
+    end
+  end
+  
+  protected
+  def banner
+    &lt;&lt;-EOS.split(&quot;\n&quot;).map{|x| x.strip}.join(&quot;\n&quot;)
+      Creates an Active Record Model stub..
+
+      USAGE: #{spec.name}&quot;
+    EOS
+  end
+      
 end
\ No newline at end of file</diff>
      <filename>merb_activerecord/activerecord_generators/model/model_generator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,74 @@
-require 'merb/generators/merb_generator_helpers'
-
-class ResourceControllerGenerator &lt; Merb::GeneratorHelpers::ControllerGeneratorBase
+class ResourceControllerGenerator &lt; Merb::GeneratorBase
+  
+  attr_reader :controller_class_name, 
+              :controller_file_name, 
+              :controller_base_path,
+              :controller_modules,
+              :model_class_name,
+              :full_controller_const,
+              :singular_model,
+              :plural_model
+  
+  def initialize(args, runtime_args = {})
+    @base =             File.dirname(__FILE__)
+    
+    super
+    name = args.shift
+    nfp = name.snake_case.gsub(&quot;::&quot;, &quot;/&quot;)
+    nfp = nfp.split(&quot;/&quot;)
+    @model_class_name = nfp.pop.singularize.to_const_string
+    @model_class_name = runtime_args[:model_class_name] if runtime_args[:model_class_name]
+    @singular_model         = @model_class_name.snake_case
+    @plural_model           = @singular_model.pluralize
+    
+    nfp &lt;&lt; @plural_model
+    
+    @controller_file_name = nfp.join(&quot;/&quot;)
+    
+    # Need to setup the directories
+    unless @controller_file_name == File.basename(@controller_file_name)
+      @controller_base_path   = controller_file_name.split(&quot;/&quot;)[0..-2].join(&quot;/&quot;) 
+    end
+    
+    @controller_modules     = @controller_file_name.to_const_string.split(&quot;::&quot;)[0..-2]
+    @controller_class_name  = @controller_file_name.to_const_string.split(&quot;::&quot;).last
 
-  def initialize(*args)
-    runtime_options = args.last.is_a?(Hash) ? args.pop : {}
-    name, *actions = args.flatten
-    runtime_options[:actions] = %w[index show new edit]
-    runtime_options[:test_stub_generator] = &quot;merb_controller_test&quot;
-    super( [name], runtime_options )
+    @full_controller_const = ((@controller_modules.dup || []) &lt;&lt; @controller_class_name).join(&quot;::&quot;)
   end
-
-  def self.superclass
-    RubiGen::Base
+  
+  def manifest
+    record do |m|
+      @m = m
+      
+      # Create the controller directory
+      m.directory File.join(&quot;app/controllers&quot;, controller_base_path) if controller_base_path
+      
+      # Create the helpers directory
+      m.directory File.join(&quot;app/helpers&quot;, controller_base_path) if controller_base_path
+      
+      @assigns =  {
+                    :controller_modules         =&gt; controller_modules,
+                    :controller_class_name      =&gt; controller_class_name,
+                    :controller_file_name       =&gt; controller_file_name,
+                    :controller_base_path       =&gt; controller_base_path,
+                    :full_controller_const      =&gt; full_controller_const,
+                    :model_class_name           =&gt; model_class_name,
+                    :singular_model             =&gt; singular_model,
+                    :plural_model               =&gt; plural_model
+                  }      
+      copy_dirs
+      copy_files
+      
+      m.dependency &quot;merb_resource_controller_test&quot;, [@controller_class_name], @assigns
+    end
   end
   
   protected
   def banner
-        &lt;&lt;-EOS
-  Creates a Merb controller, views and specs using Active Record Models
+    &lt;&lt;-EOS.split(&quot;\n&quot;).map{|x| x.strip}.join(&quot;\n&quot;)
+      Creates a basic Merb resource controller.
 
-  USAGE: #{$0} #{spec.name} resource_name&quot;
-  EOS
+      USAGE: #{spec.name} my_resource
+    EOS
   end
-  
 end
\ No newline at end of file</diff>
      <filename>merb_activerecord/activerecord_generators/resource_controller/resource_controller_generator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -46,11 +46,9 @@ module Merb
         # Registering this ORM lets the user choose active_record as a session
         # in merb.yml's session_store: option.
         def register_session_type
-          Merb.after_app_loaded do
-            Merb.register_session_type(&quot;activerecord&quot;,
-            &quot;merb/session/active_record_session&quot;,
-            &quot;Using ActiveRecord database sessions&quot;)
-          end
+          Merb.register_session_type(&quot;activerecord&quot;,
+          &quot;merb/session/active_record_session&quot;,
+          &quot;Using ActiveRecord database sessions&quot;)
         end
       end
     end</diff>
      <filename>merb_activerecord/lib/merb/orms/active_record/connection.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,18 +2,24 @@ require &quot;active_record&quot;
 
 module Merb
   module SessionMixin
-    def setup_session
-      Merb.logger.info(&quot;Setting up session&quot;)
-      before = cookies[_session_id_key]
-      request.session, cookies[_session_id_key] = Merb::ActiveRecordSession.persist(cookies[_session_id_key])
-      @_fingerprint = Marshal.dump(request.session.data).hash
-      @_new_cookie = cookies[_session_id_key] != before
-    end
+    def self.included(base)
+      base.add_hook :before_dispatch do
+        Merb.logger.info(&quot;Setting up session&quot;)
+        before = cookies[_session_id_key]
+        request.session, cookies[_session_id_key] = Merb::ActiveRecordSession.persist(cookies[_session_id_key])
+        @_fingerprint = Marshal.dump(request.session.data).hash
+        @_new_cookie = cookies[_session_id_key] != before
+      end
 
-    def finalize_session
-      Merb.logger.info(&quot;Finalize session&quot;)
-      request.session.save if @_fingerprint != Marshal.dump(request.session.data).hash
-      set_cookie(_session_id_key, request.session.session_id, _session_expiry) if (@_new_cookie || request.session.needs_new_cookie)
+      base.add_hook :after_dispatch do
+        Merb.logger.info(&quot;Finalize session&quot;)
+        request.session.save if @_fingerprint != Marshal.dump(request.session.data).hash
+        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;activerecord&quot;
     end
   end # ActiveRecordMixin
 </diff>
      <filename>merb_activerecord/lib/merb/session/active_record_session.rb</filename>
    </modified>
    <modified>
      <diff>@@ -21,6 +21,8 @@ class ModelGenerator &lt; Merb::GeneratorBase
                   }
       copy_dirs
       copy_files
+      
+      m.dependency &quot;merb_model_test&quot;, [model_file_name], @assigns
     end
   end
   </diff>
      <filename>merb_datamapper/datamapper_generators/model/model_generator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -16,7 +16,13 @@ class ResourceControllerGenerator &lt; Merb::GeneratorBase
     name = args.shift
     nfp = name.snake_case.gsub(&quot;::&quot;, &quot;/&quot;)
     nfp = nfp.split(&quot;/&quot;)
-    nfp &lt;&lt; (nfp.pop.pluralize)
+    @model_class_name = nfp.pop.singularize.to_const_string
+    @model_class_name = runtime_args[:model_class_name] if runtime_args[:model_class_name]
+    @singular_model         = @model_class_name.snake_case
+    @plural_model           = @singular_model.pluralize
+    
+    nfp &lt;&lt; @plural_model
+    
     @controller_file_name = nfp.join(&quot;/&quot;)
     
     # Need to setup the directories
@@ -26,10 +32,7 @@ class ResourceControllerGenerator &lt; Merb::GeneratorBase
     
     @controller_modules     = @controller_file_name.to_const_string.split(&quot;::&quot;)[0..-2]
     @controller_class_name  = @controller_file_name.to_const_string.split(&quot;::&quot;).last
-    @model_class_name       = runtime_args[:model_class_name] || @controller_class_name.split(&quot;::&quot;).last.singularize
-    @singular_model         = @model_class_name.snake_case.singularize
-    @plural_model           = @singular_model.pluralize
-    
+
     @full_controller_const = ((@controller_modules.dup || []) &lt;&lt; @controller_class_name).join(&quot;::&quot;)
   end
   </diff>
      <filename>merb_datamapper/datamapper_generators/resource_controller/resource_controller_generator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,8 +12,8 @@
 &lt;%= &quot;  &quot; * counter %&gt;    display @&lt;%= plural_model %&gt;
 &lt;%= &quot;  &quot; * counter %&gt;  end
 
-&lt;%= &quot;  &quot; * counter %&gt;  def show(id)
-&lt;%= &quot;  &quot; * counter %&gt;    @&lt;%= singular_model %&gt; = &lt;%= model_class_name %&gt;[id]
+&lt;%= &quot;  &quot; * counter %&gt;  def show
+&lt;%= &quot;  &quot; * counter %&gt;    @&lt;%= singular_model %&gt; = &lt;%= model_class_name %&gt;.first(params[:id])
 &lt;%= &quot;  &quot; * counter %&gt;    raise NotFound unless @&lt;%= singular_model %&gt;
 &lt;%= &quot;  &quot; * counter %&gt;    display @&lt;%= singular_model %&gt;
 &lt;%= &quot;  &quot; * counter %&gt;  end
@@ -24,15 +24,15 @@
 &lt;%= &quot;  &quot; * counter %&gt;    render
 &lt;%= &quot;  &quot; * counter %&gt;  end
 
-&lt;%= &quot;  &quot; * counter %&gt;  def edit(id)
+&lt;%= &quot;  &quot; * counter %&gt;  def edit
 &lt;%= &quot;  &quot; * counter %&gt;    only_provides :html
-&lt;%= &quot;  &quot; * counter %&gt;    @&lt;%= singular_model %&gt; = &lt;%= model_class_name %&gt;[id]
+&lt;%= &quot;  &quot; * counter %&gt;    @&lt;%= singular_model %&gt; = &lt;%= model_class_name %&gt;.first(params[:id])
 &lt;%= &quot;  &quot; * counter %&gt;    raise NotFound unless @&lt;%= singular_model %&gt;
 &lt;%= &quot;  &quot; * counter %&gt;    render
 &lt;%= &quot;  &quot; * counter %&gt;  end
 
-&lt;%= &quot;  &quot; * counter %&gt;  def create(singular_model)
-&lt;%= &quot;  &quot; * counter %&gt;    @&lt;%= singular_model %&gt; = &lt;%= model_class_name %&gt;.new(&lt;%= singular_model %&gt;)
+&lt;%= &quot;  &quot; * counter %&gt;  def create
+&lt;%= &quot;  &quot; * counter %&gt;    @&lt;%= singular_model %&gt; = &lt;%= model_class_name %&gt;.new(params[:&lt;%= singular_model %&gt;])
 &lt;%= &quot;  &quot; * counter %&gt;    if @&lt;%= singular_model %&gt;.save
 &lt;%= &quot;  &quot; * counter %&gt;      redirect url(:&lt;%= singular_model %&gt;, @&lt;%= singular_model %&gt;)
 &lt;%= &quot;  &quot; * counter %&gt;    else
@@ -40,18 +40,18 @@
 &lt;%= &quot;  &quot; * counter %&gt;    end
 &lt;%= &quot;  &quot; * counter %&gt;  end
 
-&lt;%= &quot;  &quot; * counter %&gt;  def update(id, singular_model)
-&lt;%= &quot;  &quot; * counter %&gt;    @&lt;%= singular_model %&gt; = &lt;%= model_class_name %&gt;[id]
+&lt;%= &quot;  &quot; * counter %&gt;  def update
+&lt;%= &quot;  &quot; * counter %&gt;    @&lt;%= singular_model %&gt; = &lt;%= model_class_name %&gt;.first(params[:id])
 &lt;%= &quot;  &quot; * counter %&gt;    raise NotFound unless @&lt;%= singular_model %&gt;
-&lt;%= &quot;  &quot; * counter %&gt;    if @&lt;%= singular_model %&gt;.update_attributes(&lt;%= singular_model %&gt;)
+&lt;%= &quot;  &quot; * counter %&gt;    if @&lt;%= singular_model %&gt;.update_attributes(params[:&lt;%= singular_model %&gt;])
 &lt;%= &quot;  &quot; * counter %&gt;      redirect url(:&lt;%= singular_model %&gt;, @&lt;%= singular_model %&gt;)
 &lt;%= &quot;  &quot; * counter %&gt;    else
 &lt;%= &quot;  &quot; * counter %&gt;      raise BadRequest
 &lt;%= &quot;  &quot; * counter %&gt;    end
 &lt;%= &quot;  &quot; * counter %&gt;  end
 
-&lt;%= &quot;  &quot; * counter %&gt;  def destroy(id)
-&lt;%= &quot;  &quot; * counter %&gt;    @&lt;%= singular_model %&gt; = &lt;%= model_class_name %&gt;[id]
+&lt;%= &quot;  &quot; * counter %&gt;  def destroy
+&lt;%= &quot;  &quot; * counter %&gt;    @&lt;%= singular_model %&gt; = &lt;%= model_class_name %&gt;.first(params[:id])
 &lt;%= &quot;  &quot; * counter %&gt;    raise NotFound unless @&lt;%= singular_model %&gt;
 &lt;%= &quot;  &quot; * counter %&gt;    if @&lt;%= singular_model %&gt;.destroy!
 &lt;%= &quot;  &quot; * counter %&gt;      redirect url(:&lt;%= singular_model.pluralize %&gt;)</diff>
      <filename>merb_datamapper/datamapper_generators/resource_controller/templates/app/controllers/%controller_file_name%.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,5 @@
-&lt;% counter = 0 -%&gt;
+&lt;% counter = 1 -%&gt;
+module Merb
 &lt;% controller_modules.each_with_index do |mod, i| -%&gt;
 &lt;%= &quot;  &quot; * i %&gt;module &lt;%= mod %&gt;
 &lt;% counter = i -%&gt;
@@ -11,4 +12,5 @@
 &lt;% controller_modules.reverse.each_with_index do |mod, i| -%&gt;
 &lt;%= &quot;  &quot; * counter %&gt;end # &lt;%= mod %&gt;
 &lt;% counter = counter - 1 -%&gt;
-&lt;% end -%&gt;
\ No newline at end of file
+&lt;% end -%&gt;
+end
\ No newline at end of file</diff>
      <filename>merb_datamapper/datamapper_generators/resource_controller/templates/app/helpers/%controller_file_name%_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -0,0 +1,7 @@
+namespace :dm do
+  desc &quot;Automigrates all models&quot;
+  task :auto_migrate =&gt; :merb_init do
+    DataMapper::Base.auto_migrate!
+  end
+end
+    
\ No newline at end of file</diff>
      <filename>merb_datamapper/lib/merbtasks.rb</filename>
    </modified>
    <modified>
      <diff>@@ -18,6 +18,10 @@ module Merb
         set_cookie(_session_id_key, request.session.values[:session_id], _session_expiry) if (@_new_cookie || request.session.needs_new_cookie)
       end
     end
+    
+    def session_store_type
+      &quot;sequel&quot;
+    end
 
   end
 </diff>
      <filename>merb_sequel/lib/merb/session/sequel_session.rb</filename>
    </modified>
    <modified>
      <diff>@@ -15,12 +15,12 @@ namespace :sequel do
 
     desc &quot;Creates session migration&quot;
     task :create =&gt; :merb_init do
-      # TODO: this should not use '001' always...
-      dest = File.join(Merb.root, &quot;schema&quot;, &quot;migrations&quot;,&quot;001_add_sessions_table.rb&quot;)
-      source = File.join(File.dirname(__FILE__), &quot;merb&quot;, &quot;session&quot;,&quot;001_add_sessions_table.rb&quot;)
-      
-      FileUtils.mkdir_p File.join(Merb.root, &quot;schema&quot;, &quot;migrations&quot;)
-      FileUtils.cp_r source, dest unless File.exists?(dest)
+      migration_exists = Dir[File.join(Merb.root,&quot;schema&quot;, &quot;migrations&quot;, &quot;*.rb&quot;)].detect{ |f| f =~ /database_sessions\.rb/ }
+      if migration_exists
+        puts &quot;\nThe Session Migration File already exists\n\n&quot;
+      else
+        sh %{merb-gen database_sessions_migration}
+      end
     end
     
     desc &quot;Clears sessions&quot;</diff>
      <filename>merb_sequel/lib/merbtasks.rb</filename>
    </modified>
    <modified>
      <diff>@@ -25,6 +25,7 @@ class ModelGenerator &lt; Merb::GeneratorBase
       copy_files
       
       m.dependency &quot;migration&quot;, [*self.migration_args]
+      m.dependency &quot;merb_model_test&quot;, [model_file_name], @assigns
     end
   end
   </diff>
      <filename>merb_sequel/sequel_generators/model/model_generator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -16,7 +16,13 @@ class ResourceControllerGenerator &lt; Merb::GeneratorBase
     name = args.shift
     nfp = name.snake_case.gsub(&quot;::&quot;, &quot;/&quot;)
     nfp = nfp.split(&quot;/&quot;)
-    nfp &lt;&lt; (nfp.pop.pluralize)
+    @model_class_name = nfp.pop.singularize.to_const_string
+    @model_class_name = runtime_args[:model_class_name] if runtime_args[:model_class_name]
+    @singular_model         = @model_class_name.snake_case
+    @plural_model           = @singular_model.pluralize
+    
+    nfp &lt;&lt; @plural_model
+    
     @controller_file_name = nfp.join(&quot;/&quot;)
     
     # Need to setup the directories
@@ -26,10 +32,7 @@ class ResourceControllerGenerator &lt; Merb::GeneratorBase
     
     @controller_modules     = @controller_file_name.to_const_string.split(&quot;::&quot;)[0..-2]
     @controller_class_name  = @controller_file_name.to_const_string.split(&quot;::&quot;).last
-    @model_class_name       = runtime_args[:model_class_name] || @controller_class_name.split(&quot;::&quot;).last.singularize
-    @singular_model         = @model_class_name.snake_case.singularize
-    @plural_model           = @singular_model.pluralize
-    
+
     @full_controller_const = ((@controller_modules.dup || []) &lt;&lt; @controller_class_name).join(&quot;::&quot;)
   end
   </diff>
      <filename>merb_sequel/sequel_generators/resource_controller/resource_controller_generator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,12 +9,13 @@
   
 &lt;%= &quot;  &quot; * counter %&gt;  def index
 &lt;%= &quot;  &quot; * counter %&gt;    @&lt;%= plural_model %&gt; = &lt;%= model_class_name %&gt;.all
-&lt;%= &quot;  &quot; * counter %&gt;    render @&lt;%= plural_model %&gt;
+&lt;%= &quot;  &quot; * counter %&gt;    display @&lt;%= plural_model %&gt;
 &lt;%= &quot;  &quot; * counter %&gt;  end
 
 &lt;%= &quot;  &quot; * counter %&gt;  def show
-&lt;%= &quot;  &quot; * counter %&gt;     @&lt;%= singular_model %&gt; = &lt;%= model_class_name %&gt;[params[:id]]
-&lt;%= &quot;  &quot; * counter %&gt;    render @&lt;%= singular_model %&gt;
+&lt;%= &quot;  &quot; * counter %&gt;    @&lt;%= singular_model %&gt; = &lt;%= model_class_name %&gt;[params[:id]]
+&lt;%= &quot;  &quot; * counter %&gt;    raise NotFound unless @&lt;%= singular_model %&gt;
+&lt;%= &quot;  &quot; * counter %&gt;    display @&lt;%= singular_model %&gt;
 &lt;%= &quot;  &quot; * counter %&gt;  end
 
 &lt;%= &quot;  &quot; * counter %&gt;  def new
@@ -35,11 +36,13 @@
 &lt;%= &quot;  &quot; * counter %&gt;  def edit
 &lt;%= &quot;  &quot; * counter %&gt;    only_provides :html
 &lt;%= &quot;  &quot; * counter %&gt;    @&lt;%= singular_model %&gt; = &lt;%= model_class_name %&gt;[params[:id]]
+&lt;%= &quot;  &quot; * counter %&gt;    raise NotFound unless @&lt;%= singular_model %&gt;
 &lt;%= &quot;  &quot; * counter %&gt;    render
 &lt;%= &quot;  &quot; * counter %&gt;  end
 
 &lt;%= &quot;  &quot; * counter %&gt;  def update
 &lt;%= &quot;  &quot; * counter %&gt;    @&lt;%= singular_model %&gt; = &lt;%= model_class_name %&gt;[params[:id]]
+&lt;%= &quot;  &quot; * counter %&gt;    raise NotFound unless @&lt;%= singular_model %&gt;
 &lt;%= &quot;  &quot; * counter %&gt;    if @&lt;%= singular_model %&gt;.update(params[:&lt;%= singular_model %&gt;])
 &lt;%= &quot;  &quot; * counter %&gt;      redirect url(:&lt;%= singular_model %&gt;, @&lt;%= singular_model %&gt;)
 &lt;%= &quot;  &quot; * counter %&gt;    else
@@ -49,6 +52,7 @@
 
 &lt;%= &quot;  &quot; * counter %&gt;  def destroy
 &lt;%= &quot;  &quot; * counter %&gt;    @&lt;%= singular_model %&gt; = &lt;%= model_class_name %&gt;[params[:id]]
+&lt;%= &quot;  &quot; * counter %&gt;    raise NotFound unless @&lt;%= singular_model %&gt;
 &lt;%= &quot;  &quot; * counter %&gt;    if @&lt;%= singular_model %&gt;.destroy
 &lt;%= &quot;  &quot; * counter %&gt;      redirect url(:&lt;%= singular_model %&gt;s)
 &lt;%= &quot;  &quot; * counter %&gt;    else</diff>
      <filename>merb_sequel/sequel_generators/resource_controller/templates/app/controllers/%controller_file_name%.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,5 @@
-&lt;% counter = 0 -%&gt;
+&lt;% counter = 1 -%&gt;
+module Merb
 &lt;% controller_modules.each_with_index do |mod, i| -%&gt;
 &lt;%= &quot;  &quot; * i %&gt;module &lt;%= mod %&gt;
 &lt;% counter = i -%&gt;
@@ -11,4 +12,5 @@
 &lt;% controller_modules.reverse.each_with_index do |mod, i| -%&gt;
 &lt;%= &quot;  &quot; * counter %&gt;end # &lt;%= mod %&gt;
 &lt;% counter = counter - 1 -%&gt;
-&lt;% end -%&gt;
\ No newline at end of file
+&lt;% end -%&gt;
+end
\ No newline at end of file</diff>
      <filename>merb_sequel/sequel_generators/resource_controller/templates/app/helpers/%controller_file_name%_helper.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>merb_activerecord/activerecord_generators/migration/templates/new_migration.erb</filename>
    </removed>
    <removed>
      <filename>merb_activerecord/activerecord_generators/model/templates/new_model.erb</filename>
    </removed>
    <removed>
      <filename>merb_activerecord/activerecord_generators/resource_controller/templates/controller.rb</filename>
    </removed>
    <removed>
      <filename>merb_activerecord/activerecord_generators/resource_controller/templates/edit.html.erb</filename>
    </removed>
    <removed>
      <filename>merb_activerecord/activerecord_generators/resource_controller/templates/helper.rb</filename>
    </removed>
    <removed>
      <filename>merb_activerecord/activerecord_generators/resource_controller/templates/index.html.erb</filename>
    </removed>
    <removed>
      <filename>merb_activerecord/activerecord_generators/resource_controller/templates/new.html.erb</filename>
    </removed>
    <removed>
      <filename>merb_activerecord/activerecord_generators/resource_controller/templates/show.html.erb</filename>
    </removed>
    <removed>
      <filename>merb_sequel/lib/merb/session/001_add_sessions_table.rb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>ed14694b1350483cbeb411adc1a6f7ba742fa104</id>
    </parent>
  </parents>
  <author>
    <name>Daniel Neighman</name>
    <email>has.sox@gmail.com</email>
  </author>
  <url>http://github.com/wycats/merb-plugins/commit/550cec95cc4209fc531a7c13f60e406406a7324e</url>
  <id>550cec95cc4209fc531a7c13f60e406406a7324e</id>
  <committed-date>2008-02-06T02:20:03-08:00</committed-date>
  <authored-date>2008-02-06T02:20:03-08:00</authored-date>
  <message>ORM generators all functional with new merb-gen command.</message>
  <tree>6be3f6a557d1ab627096cafa9d1cb5f2abc4aff2</tree>
  <committer>
    <name>Daniel Neighman</name>
    <email>has.sox@gmail.com</email>
  </committer>
</commit>
