summaryrefslogtreecommitdiff
path: root/lib/generators/nifty/scaffold/templates
diff options
context:
space:
mode:
authorStefan Wintermeyer <stefan.wintermeyer@amooma.de>2012-12-17 12:01:45 +0100
committerStefan Wintermeyer <stefan.wintermeyer@amooma.de>2012-12-17 12:01:45 +0100
commitb80bd744ad873f6fc43018bc4bfb90677de167bd (patch)
tree072c4b0e33d442528555b82c415f5e7a1712b2b0 /lib/generators/nifty/scaffold/templates
parent3e706c2025ecc5523e81ad649639ef2ff75e7bac (diff)
Start of GS5.
Diffstat (limited to 'lib/generators/nifty/scaffold/templates')
-rw-r--r--lib/generators/nifty/scaffold/templates/actions/create.rb8
-rw-r--r--lib/generators/nifty/scaffold/templates/actions/destroy.rb5
-rw-r--r--lib/generators/nifty/scaffold/templates/actions/edit.rb3
-rw-r--r--lib/generators/nifty/scaffold/templates/actions/index.rb3
-rw-r--r--lib/generators/nifty/scaffold/templates/actions/new.rb3
-rw-r--r--lib/generators/nifty/scaffold/templates/actions/show.rb3
-rw-r--r--lib/generators/nifty/scaffold/templates/actions/update.rb8
-rw-r--r--lib/generators/nifty/scaffold/templates/controller.rb3
-rw-r--r--lib/generators/nifty/scaffold/templates/fixtures.yml9
-rw-r--r--lib/generators/nifty/scaffold/templates/helper.rb2
-rw-r--r--lib/generators/nifty/scaffold/templates/locale.yml46
-rw-r--r--lib/generators/nifty/scaffold/templates/locale_de.yml46
-rw-r--r--lib/generators/nifty/scaffold/templates/migration.rb16
-rw-r--r--lib/generators/nifty/scaffold/templates/model.rb4
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/rspec/actions/create.rb11
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/rspec/actions/destroy.rb6
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/rspec/actions/edit.rb4
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/rspec/actions/index.rb4
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/rspec/actions/new.rb4
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/rspec/actions/show.rb4
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/rspec/actions/update.rb11
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/rspec/controller.rb8
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/rspec/model.rb7
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/shoulda/actions/create.rb13
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/shoulda/actions/destroy.rb8
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/shoulda/actions/edit.rb6
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/shoulda/actions/index.rb6
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/shoulda/actions/new.rb6
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/shoulda/actions/show.rb6
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/shoulda/actions/update.rb13
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/shoulda/controller.rb5
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/shoulda/model.rb7
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/testunit/actions/create.rb11
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/testunit/actions/destroy.rb6
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/testunit/actions/edit.rb4
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/testunit/actions/index.rb4
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/testunit/actions/new.rb4
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/testunit/actions/show.rb4
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/testunit/actions/update.rb11
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/testunit/controller.rb49
-rw-r--r--lib/generators/nifty/scaffold/templates/tests/testunit/model.rb7
-rw-r--r--lib/generators/nifty/scaffold/templates/views/haml/_form.html.haml7
-rw-r--r--lib/generators/nifty/scaffold/templates/views/haml/_form_core.html.haml4
-rw-r--r--lib/generators/nifty/scaffold/templates/views/haml/_index_core.html.haml13
-rw-r--r--lib/generators/nifty/scaffold/templates/views/haml/edit.html.haml3
-rw-r--r--lib/generators/nifty/scaffold/templates/views/haml/index.html.haml6
-rw-r--r--lib/generators/nifty/scaffold/templates/views/haml/new.html.haml3
-rw-r--r--lib/generators/nifty/scaffold/templates/views/haml/show.html.haml9
48 files changed, 433 insertions, 0 deletions
diff --git a/lib/generators/nifty/scaffold/templates/actions/create.rb b/lib/generators/nifty/scaffold/templates/actions/create.rb
new file mode 100644
index 0000000..8365f0b
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/actions/create.rb
@@ -0,0 +1,8 @@
+ def create
+ @<%= instance_name %> = <%= class_name %>.new(params[:<%= instance_name %>])
+ if @<%= instance_name %>.save
+ redirect_to <%= item_url %>, :notice => t('<%= plural_name %>.controller.successfuly_created')
+ else
+ render :new
+ end
+ end
diff --git a/lib/generators/nifty/scaffold/templates/actions/destroy.rb b/lib/generators/nifty/scaffold/templates/actions/destroy.rb
new file mode 100644
index 0000000..8a236e0
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/actions/destroy.rb
@@ -0,0 +1,5 @@
+ def destroy
+ @<%= instance_name %> = <%= class_name %>.find(params[:id])
+ @<%= instance_name %>.destroy
+ redirect_to <%= items_url %>, :notice => t('<%= plural_name %>.controller.successfuly_destroyed')
+ end
diff --git a/lib/generators/nifty/scaffold/templates/actions/edit.rb b/lib/generators/nifty/scaffold/templates/actions/edit.rb
new file mode 100644
index 0000000..907e928
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/actions/edit.rb
@@ -0,0 +1,3 @@
+ def edit
+ @<%= instance_name %> = <%= class_name %>.find(params[:id])
+ end
diff --git a/lib/generators/nifty/scaffold/templates/actions/index.rb b/lib/generators/nifty/scaffold/templates/actions/index.rb
new file mode 100644
index 0000000..0a8420c
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/actions/index.rb
@@ -0,0 +1,3 @@
+ def index
+ @<%= instances_name %> = <%= class_name %>.all
+ end
diff --git a/lib/generators/nifty/scaffold/templates/actions/new.rb b/lib/generators/nifty/scaffold/templates/actions/new.rb
new file mode 100644
index 0000000..c0991bc
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/actions/new.rb
@@ -0,0 +1,3 @@
+ def new
+ @<%= instance_name %> = <%= class_name %>.new
+ end
diff --git a/lib/generators/nifty/scaffold/templates/actions/show.rb b/lib/generators/nifty/scaffold/templates/actions/show.rb
new file mode 100644
index 0000000..27a0467
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/actions/show.rb
@@ -0,0 +1,3 @@
+ def show
+ @<%= instance_name %> = <%= class_name %>.find(params[:id])
+ end
diff --git a/lib/generators/nifty/scaffold/templates/actions/update.rb b/lib/generators/nifty/scaffold/templates/actions/update.rb
new file mode 100644
index 0000000..a1473a6
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/actions/update.rb
@@ -0,0 +1,8 @@
+ def update
+ @<%= instance_name %> = <%= class_name %>.find(params[:id])
+ if @<%= instance_name %>.update_attributes(params[:<%= instance_name %>])
+ redirect_to <%= item_url %>, :notice => t('<%= plural_name %>.controller.successfuly_updated')
+ else
+ render :edit
+ end
+ end
diff --git a/lib/generators/nifty/scaffold/templates/controller.rb b/lib/generators/nifty/scaffold/templates/controller.rb
new file mode 100644
index 0000000..a54de70
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/controller.rb
@@ -0,0 +1,3 @@
+class <%= plural_class_name %>Controller < ApplicationController
+ <%= controller_methods :actions %>
+end
diff --git a/lib/generators/nifty/scaffold/templates/fixtures.yml b/lib/generators/nifty/scaffold/templates/fixtures.yml
new file mode 100644
index 0000000..447eaf9
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/fixtures.yml
@@ -0,0 +1,9 @@
+one:
+<%- for attribute in model_attributes -%>
+ <%= attribute.name %>: <%= attribute.default %>
+<%- end -%>
+
+two:
+<%- for attribute in model_attributes -%>
+ <%= attribute.name %>: <%= attribute.default %>
+<%- end -%>
diff --git a/lib/generators/nifty/scaffold/templates/helper.rb b/lib/generators/nifty/scaffold/templates/helper.rb
new file mode 100644
index 0000000..084b485
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/helper.rb
@@ -0,0 +1,2 @@
+module <%= plural_class_name %>Helper
+end
diff --git a/lib/generators/nifty/scaffold/templates/locale.yml b/lib/generators/nifty/scaffold/templates/locale.yml
new file mode 100644
index 0000000..46e4ce3
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/locale.yml
@@ -0,0 +1,46 @@
+en:
+ <%= plural_name %>:
+ name: '<%= human_name %>'
+ controller:
+ successfuly_created: 'Successfully created <%= human_name %>.'
+ successfuly_updated: 'Successfully updated <%= human_name %>.'
+ successfuly_destroyed: 'Successfully destroyed <%= human_name %>.'
+ index:
+ page_title: 'Listing <%= human_name %>'
+ <%- for attribute in model_attributes -%>
+ <%= attribute.name %>: '<%= attribute.human_name %>'
+ <%- end -%>
+ actions:
+ confirm: 'Are you sure you want to delete this <%= human_name %>?'
+ destroy: 'Delete'
+ edit: 'Edit'
+ show: 'View'
+ create: 'New'
+ create_for: 'New <%= human_name %> for %{resource}'
+ show:
+ page_title: 'Show <%= human_name %>'
+ <%- for attribute in model_attributes -%>
+ <%= attribute.name %>: '<%= attribute.human_name %>'
+ <%- end -%>
+ actions:
+ confirm: 'Are you sure you want to delete this element?'
+ destroy: 'Delete'
+ edit: 'Edit'
+ view_all: 'View All'
+ new:
+ page_title: 'New <%= human_name %>'
+ actions:
+ back_to_list: 'Back to Index'
+ edit:
+ page_title: 'Editing <%= human_name %>'
+ actions:
+ back_to_list: 'Back to Index'
+ edit: 'Edit'
+ view_all: 'View All'
+ form:
+ <%- for attribute in model_attributes -%>
+ <%= attribute.name %>:
+ label: '<%= attribute.human_name %>'
+ hint: ''
+ <%- end -%>
+ button: 'Submit' \ No newline at end of file
diff --git a/lib/generators/nifty/scaffold/templates/locale_de.yml b/lib/generators/nifty/scaffold/templates/locale_de.yml
new file mode 100644
index 0000000..027d36d
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/locale_de.yml
@@ -0,0 +1,46 @@
+de:
+ <%= plural_name %>:
+ name: '<%= human_name %>'
+ controller:
+ successfuly_created: '<%= human_name %> wurde angelegt.'
+ successfuly_updated: '<%= human_name %> wurde aktualisiert.'
+ successfuly_destroyed: '<%= human_name %> wurde gelöscht.'
+ index:
+ page_title: 'Übersicht von <%= human_name %>'
+ <%- for attribute in model_attributes -%>
+ <%= attribute.name %>: '<%= attribute.human_name %>'
+ <%- end -%>
+ actions:
+ confirm: 'Sind Sie sicher, dass Sie folgendes löschen möchten: <%= human_name %>'
+ destroy: 'Löschen'
+ edit: 'Bearbeiten'
+ show: 'Anzeigen'
+ create: 'Neu anlegen'
+ create_for: '<%= human_name %> neu anlegen für %{resource}'
+ show:
+ page_title: '<%= human_name %> bearbeiten'
+ <%- for attribute in model_attributes -%>
+ <%= attribute.name %>: '<%= attribute.human_name %>'
+ <%- end -%>
+ actions:
+ confirm: 'Sind Sie sicher, dass die dieses Element löschen möchten?'
+ destroy: 'Löschen'
+ edit: 'Bearbeiten'
+ view_all: 'Alle anzeigen'
+ new:
+ page_title: '<%= human_name %> neu anlegen'
+ actions:
+ back_to_list: 'Zurück zur Übersicht'
+ edit:
+ page_title: '<%= human_name %> bearbeiten'
+ actions:
+ back_to_list: 'Zurück zur Übersicht'
+ edit: 'Bearbeiten'
+ view_all: 'Alle anzeigen'
+ form:
+ <%- for attribute in model_attributes -%>
+ <%= attribute.name %>:
+ label: '<%= attribute.human_name %>'
+ hint: ''
+ <%- end -%>
+ button: 'Absenden' \ No newline at end of file
diff --git a/lib/generators/nifty/scaffold/templates/migration.rb b/lib/generators/nifty/scaffold/templates/migration.rb
new file mode 100644
index 0000000..02fd6bd
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/migration.rb
@@ -0,0 +1,16 @@
+class Create<%= class_name.pluralize.delete('::') %> < ActiveRecord::Migration
+ def self.up
+ create_table :<%= table_name || plural_name.split('/').last %> do |t|
+ <%- for attribute in model_attributes -%>
+ t.<%= attribute.type %> :<%= attribute.name %>
+ <%- end -%>
+ <%- unless options[:skip_timestamps] -%>
+ t.timestamps
+ <%- end -%>
+ end
+ end
+
+ def self.down
+ drop_table :<%= table_name || plural_name.split('/').last %>
+ end
+end
diff --git a/lib/generators/nifty/scaffold/templates/model.rb b/lib/generators/nifty/scaffold/templates/model.rb
new file mode 100644
index 0000000..fe5f980
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/model.rb
@@ -0,0 +1,4 @@
+class <%= class_name %> < ActiveRecord::Base
+<%= " set_table_name :#{table_name}\n" if table_name -%>
+ attr_accessible <%= model_attributes.map { |a| ":#{a.name}" }.join(", ") %>
+end
diff --git a/lib/generators/nifty/scaffold/templates/tests/rspec/actions/create.rb b/lib/generators/nifty/scaffold/templates/tests/rspec/actions/create.rb
new file mode 100644
index 0000000..ef5a906
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/rspec/actions/create.rb
@@ -0,0 +1,11 @@
+ it "create action should render new template when model is invalid" do
+ <%= class_name %>.any_instance.stubs(:valid?).returns(false)
+ post :create
+ response.should render_template(:new)
+ end
+
+ it "create action should redirect when model is valid" do
+ <%= class_name %>.any_instance.stubs(:valid?).returns(true)
+ post :create
+ response.should redirect_to(<%= item_path_for_spec('url') %>)
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/rspec/actions/destroy.rb b/lib/generators/nifty/scaffold/templates/tests/rspec/actions/destroy.rb
new file mode 100644
index 0000000..8372953
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/rspec/actions/destroy.rb
@@ -0,0 +1,6 @@
+ it "destroy action should destroy model and redirect to index action" do
+ <%= instance_name %> = <%= class_name %>.first
+ delete :destroy, :id => <%= instance_name %>
+ response.should redirect_to(<%= items_url %>)
+ <%= class_name %>.exists?(<%= instance_name %>.id).should be_false
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/rspec/actions/edit.rb b/lib/generators/nifty/scaffold/templates/tests/rspec/actions/edit.rb
new file mode 100644
index 0000000..e144904
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/rspec/actions/edit.rb
@@ -0,0 +1,4 @@
+ it "edit action should render edit template" do
+ get :edit, :id => <%= class_name %>.first
+ response.should render_template(:edit)
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/rspec/actions/index.rb b/lib/generators/nifty/scaffold/templates/tests/rspec/actions/index.rb
new file mode 100644
index 0000000..a40ea16
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/rspec/actions/index.rb
@@ -0,0 +1,4 @@
+ it "index action should render index template" do
+ get :index
+ response.should render_template(:index)
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/rspec/actions/new.rb b/lib/generators/nifty/scaffold/templates/tests/rspec/actions/new.rb
new file mode 100644
index 0000000..22e1b40
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/rspec/actions/new.rb
@@ -0,0 +1,4 @@
+ it "new action should render new template" do
+ get :new
+ response.should render_template(:new)
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/rspec/actions/show.rb b/lib/generators/nifty/scaffold/templates/tests/rspec/actions/show.rb
new file mode 100644
index 0000000..eaa3d93
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/rspec/actions/show.rb
@@ -0,0 +1,4 @@
+ it "show action should render show template" do
+ get :show, :id => <%= class_name %>.first
+ response.should render_template(:show)
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/rspec/actions/update.rb b/lib/generators/nifty/scaffold/templates/tests/rspec/actions/update.rb
new file mode 100644
index 0000000..c919962
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/rspec/actions/update.rb
@@ -0,0 +1,11 @@
+ it "update action should render edit template when model is invalid" do
+ <%= class_name %>.any_instance.stubs(:valid?).returns(false)
+ put :update, :id => <%= class_name %>.first
+ response.should render_template(:edit)
+ end
+
+ it "update action should redirect when model is valid" do
+ <%= class_name %>.any_instance.stubs(:valid?).returns(true)
+ put :update, :id => <%= class_name %>.first
+ response.should redirect_to(<%= item_path_for_spec('url') %>)
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/rspec/controller.rb b/lib/generators/nifty/scaffold/templates/tests/rspec/controller.rb
new file mode 100644
index 0000000..5d97f63
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/rspec/controller.rb
@@ -0,0 +1,8 @@
+require File.dirname(__FILE__) + '/../spec_helper'
+
+describe <%= plural_class_name %>Controller do
+ fixtures :all
+ render_views
+
+ <%= controller_methods 'tests/rspec/actions' %>
+end
diff --git a/lib/generators/nifty/scaffold/templates/tests/rspec/model.rb b/lib/generators/nifty/scaffold/templates/tests/rspec/model.rb
new file mode 100644
index 0000000..25c3cc4
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/rspec/model.rb
@@ -0,0 +1,7 @@
+require File.dirname(__FILE__) + '/../spec_helper'
+
+describe <%= class_name %> do
+ it "should be valid" do
+ <%= class_name %>.new.should be_valid
+ end
+end
diff --git a/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/create.rb b/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/create.rb
new file mode 100644
index 0000000..f305367
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/create.rb
@@ -0,0 +1,13 @@
+ context "create action" do
+ should "render new template when model is invalid" do
+ <%= class_name %>.any_instance.stubs(:valid?).returns(false)
+ post :create
+ assert_template 'new'
+ end
+
+ should "redirect when model is valid" do
+ <%= class_name %>.any_instance.stubs(:valid?).returns(true)
+ post :create
+ assert_redirected_to <%= item_path_for_test('url') %>
+ end
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/destroy.rb b/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/destroy.rb
new file mode 100644
index 0000000..ea20133
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/destroy.rb
@@ -0,0 +1,8 @@
+ context "destroy action" do
+ should "destroy model and redirect to index action" do
+ <%= instance_name %> = <%= class_name %>.first
+ delete :destroy, :id => <%= instance_name %>
+ assert_redirected_to <%= items_url %>
+ assert !<%= class_name %>.exists?(<%= instance_name %>.id)
+ end
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/edit.rb b/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/edit.rb
new file mode 100644
index 0000000..47597d0
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/edit.rb
@@ -0,0 +1,6 @@
+ context "edit action" do
+ should "render edit template" do
+ get :edit, :id => <%= class_name %>.first
+ assert_template 'edit'
+ end
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/index.rb b/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/index.rb
new file mode 100644
index 0000000..44b056b
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/index.rb
@@ -0,0 +1,6 @@
+ context "index action" do
+ should "render index template" do
+ get :index
+ assert_template 'index'
+ end
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/new.rb b/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/new.rb
new file mode 100644
index 0000000..5857a55
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/new.rb
@@ -0,0 +1,6 @@
+ context "new action" do
+ should "render new template" do
+ get :new
+ assert_template 'new'
+ end
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/show.rb b/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/show.rb
new file mode 100644
index 0000000..75b37f6
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/show.rb
@@ -0,0 +1,6 @@
+ context "show action" do
+ should "render show template" do
+ get :show, :id => <%= class_name %>.first
+ assert_template 'show'
+ end
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/update.rb b/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/update.rb
new file mode 100644
index 0000000..fc46f72
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/shoulda/actions/update.rb
@@ -0,0 +1,13 @@
+ context "update action" do
+ should "render edit template when model is invalid" do
+ <%= class_name %>.any_instance.stubs(:valid?).returns(false)
+ put :update, :id => <%= class_name %>.first
+ assert_template 'edit'
+ end
+
+ should "redirect when model is valid" do
+ <%= class_name %>.any_instance.stubs(:valid?).returns(true)
+ put :update, :id => <%= class_name %>.first
+ assert_redirected_to <%= item_path_for_test('url') %>
+ end
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/shoulda/controller.rb b/lib/generators/nifty/scaffold/templates/tests/shoulda/controller.rb
new file mode 100644
index 0000000..e9f9764
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/shoulda/controller.rb
@@ -0,0 +1,5 @@
+require 'test_helper'
+
+class <%= plural_class_name %>ControllerTest < ActionController::TestCase
+ <%= controller_methods 'tests/shoulda/actions' %>
+end
diff --git a/lib/generators/nifty/scaffold/templates/tests/shoulda/model.rb b/lib/generators/nifty/scaffold/templates/tests/shoulda/model.rb
new file mode 100644
index 0000000..9065963
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/shoulda/model.rb
@@ -0,0 +1,7 @@
+require 'test_helper'
+
+class <%= class_name %>Test < ActiveSupport::TestCase
+ should "be valid" do
+ assert <%= class_name %>.new.valid?
+ end
+end
diff --git a/lib/generators/nifty/scaffold/templates/tests/testunit/actions/create.rb b/lib/generators/nifty/scaffold/templates/tests/testunit/actions/create.rb
new file mode 100644
index 0000000..5a6d2ac
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/testunit/actions/create.rb
@@ -0,0 +1,11 @@
+ def test_create_invalid
+ <%= class_name %>.any_instance.stubs(:valid?).returns(false)
+ post :create
+ assert_template 'new'
+ end
+
+ def test_create_valid
+ <%= class_name %>.any_instance.stubs(:valid?).returns(true)
+ post :create
+ assert_redirected_to <%= item_path_for_test('url') %>
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/testunit/actions/destroy.rb b/lib/generators/nifty/scaffold/templates/tests/testunit/actions/destroy.rb
new file mode 100644
index 0000000..adedf91
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/testunit/actions/destroy.rb
@@ -0,0 +1,6 @@
+ def test_destroy
+ <%= instance_name %> = <%= class_name %>.first
+ delete :destroy, :id => <%= instance_name %>
+ assert_redirected_to <%= items_url %>
+ assert !<%= class_name %>.exists?(<%= instance_name %>.id)
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/testunit/actions/edit.rb b/lib/generators/nifty/scaffold/templates/tests/testunit/actions/edit.rb
new file mode 100644
index 0000000..55ed24a
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/testunit/actions/edit.rb
@@ -0,0 +1,4 @@
+ def test_edit
+ get :edit, :id => <%= class_name %>.first
+ assert_template 'edit'
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/testunit/actions/index.rb b/lib/generators/nifty/scaffold/templates/tests/testunit/actions/index.rb
new file mode 100644
index 0000000..22d3bad
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/testunit/actions/index.rb
@@ -0,0 +1,4 @@
+ def test_index
+ get :index
+ assert_template 'index'
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/testunit/actions/new.rb b/lib/generators/nifty/scaffold/templates/tests/testunit/actions/new.rb
new file mode 100644
index 0000000..c551327
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/testunit/actions/new.rb
@@ -0,0 +1,4 @@
+ def test_new
+ get :new
+ assert_template 'new'
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/testunit/actions/show.rb b/lib/generators/nifty/scaffold/templates/tests/testunit/actions/show.rb
new file mode 100644
index 0000000..b74f371
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/testunit/actions/show.rb
@@ -0,0 +1,4 @@
+ def test_show
+ get :show, :id => <%= class_name %>.first
+ assert_template 'show'
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/testunit/actions/update.rb b/lib/generators/nifty/scaffold/templates/tests/testunit/actions/update.rb
new file mode 100644
index 0000000..b588bfc
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/testunit/actions/update.rb
@@ -0,0 +1,11 @@
+ def test_update_invalid
+ <%= class_name %>.any_instance.stubs(:valid?).returns(false)
+ put :update, :id => <%= class_name %>.first
+ assert_template 'edit'
+ end
+
+ def test_update_valid
+ <%= class_name %>.any_instance.stubs(:valid?).returns(true)
+ put :update, :id => <%= class_name %>.first
+ assert_redirected_to <%= item_path_for_test('url') %>
+ end
diff --git a/lib/generators/nifty/scaffold/templates/tests/testunit/controller.rb b/lib/generators/nifty/scaffold/templates/tests/testunit/controller.rb
new file mode 100644
index 0000000..8b99836
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/testunit/controller.rb
@@ -0,0 +1,49 @@
+require 'test_helper'
+
+class <%= plural_class_name %>ControllerTest < ActionController::TestCase
+ setup do
+ <%= item_path :instance_variable => true %> = <%= plural_name %>(:one)
+ end
+
+ test "should get index" do
+ get :index
+ assert_response :success
+ assert_not_nil assigns(:<%= plural_name %>)
+ end
+
+ test "should get new" do
+ get :new
+ assert_response :success
+ end
+
+ test "should create <%= item_path %>" do
+ assert_difference('<%= class_name %>.count') do
+ post :create, <%= item_path %>: @<%= item_path %>.attributes
+ end
+
+ assert_redirected_to <%= item_path %>_path(assigns(:<%= item_path %>))
+ end
+
+ test "should show <%= item_path %>" do
+ get :show, id: @<%= item_path %>.to_param
+ assert_response :success
+ end
+
+ test "should get edit" do
+ get :edit, id: @<%= item_path %>.to_param
+ assert_response :success
+ end
+
+ test "should update <%= item_path %>" do
+ put :update, id: @<%= item_path %>.to_param, <%= item_path %>: @<%= item_path %>.attributes
+ assert_redirected_to <%= item_path %>_path(assigns(:<%= item_path %>))
+ end
+
+ test "should destroy <%= item_path %>" do
+ assert_difference('<%= class_name %>.count', -1) do
+ delete :destroy, id: @<%= item_path %>.to_param
+ end
+
+ assert_redirected_to <%= plural_name %>_path
+ end
+end
diff --git a/lib/generators/nifty/scaffold/templates/tests/testunit/model.rb b/lib/generators/nifty/scaffold/templates/tests/testunit/model.rb
new file mode 100644
index 0000000..09b835c
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/tests/testunit/model.rb
@@ -0,0 +1,7 @@
+require 'test_helper'
+
+class <%= class_name %>Test < ActiveSupport::TestCase
+ def test_should_be_valid
+ assert <%= class_name %>.new.valid?
+ end
+end
diff --git a/lib/generators/nifty/scaffold/templates/views/haml/_form.html.haml b/lib/generators/nifty/scaffold/templates/views/haml/_form.html.haml
new file mode 100644
index 0000000..57cb828
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/views/haml/_form.html.haml
@@ -0,0 +1,7 @@
+= simple_form_for(<%= item_path :instance_variable => true %>) do |f|
+ = f.error_notification
+
+ = render "form_core", :f => f
+
+ .actions
+ = f.button :submit, conditional_t('<%= plural_name %>.form.submit') \ No newline at end of file
diff --git a/lib/generators/nifty/scaffold/templates/views/haml/_form_core.html.haml b/lib/generators/nifty/scaffold/templates/views/haml/_form_core.html.haml
new file mode 100644
index 0000000..ca7f253
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/views/haml/_form_core.html.haml
@@ -0,0 +1,4 @@
+.inputs
+<%- model_attributes.each do |attribute| -%>
+ = f.<%= attribute.reference? ? :association : :input %> :<%= attribute.name %>, :label => t('<%= plural_name %>.form.<%= attribute.name %>.label'), :hint => conditional_hint('<%= plural_name %>.form.<%= attribute.name %>.hint')
+<%- end -%>
diff --git a/lib/generators/nifty/scaffold/templates/views/haml/_index_core.html.haml b/lib/generators/nifty/scaffold/templates/views/haml/_index_core.html.haml
new file mode 100644
index 0000000..9cbea63
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/views/haml/_index_core.html.haml
@@ -0,0 +1,13 @@
+%table
+ %tr
+ <%- for attribute in model_attributes -%>
+ %th= t('<%= plural_name %>.index.<%= attribute.name %>')
+ <%- end -%>
+
+ - reset_cycle
+ - for <%= instance_name %> in <%= instances_name %>
+ %tr{:class => cycle('odd', 'even')}
+ <%- for attribute in model_attributes -%>
+ %td= <%= instance_name %>.<%= attribute.name %>
+ <%- end -%>
+ =render :partial => 'shared/index_view_edit_destroy_part', :locals => {:child => <%= instance_name %>} \ No newline at end of file
diff --git a/lib/generators/nifty/scaffold/templates/views/haml/edit.html.haml b/lib/generators/nifty/scaffold/templates/views/haml/edit.html.haml
new file mode 100644
index 0000000..dc7de62
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/views/haml/edit.html.haml
@@ -0,0 +1,3 @@
+- title t("<%= plural_name %>.edit.page_title")
+
+<%= render_form %> \ No newline at end of file
diff --git a/lib/generators/nifty/scaffold/templates/views/haml/index.html.haml b/lib/generators/nifty/scaffold/templates/views/haml/index.html.haml
new file mode 100644
index 0000000..86c6b9e
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/views/haml/index.html.haml
@@ -0,0 +1,6 @@
+- title t("<%= plural_name %>.index.page_title")
+
+- if @<%= instances_name %> && @<%= instances_name %>.count > 0
+ = render "index_core", :<%= instances_name %> => @<%= instances_name %>
+
+= render :partial => 'shared/create_link', :locals => {:child_class => <%= instances_name.classify %>} \ No newline at end of file
diff --git a/lib/generators/nifty/scaffold/templates/views/haml/new.html.haml b/lib/generators/nifty/scaffold/templates/views/haml/new.html.haml
new file mode 100644
index 0000000..4e7f871
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/views/haml/new.html.haml
@@ -0,0 +1,3 @@
+- title t("<%= plural_name %>.new.page_title")
+
+<%= render_form %> \ No newline at end of file
diff --git a/lib/generators/nifty/scaffold/templates/views/haml/show.html.haml b/lib/generators/nifty/scaffold/templates/views/haml/show.html.haml
new file mode 100644
index 0000000..3d01340
--- /dev/null
+++ b/lib/generators/nifty/scaffold/templates/views/haml/show.html.haml
@@ -0,0 +1,9 @@
+- title t("<%= plural_name %>.show.page_title")
+
+<%- for attribute in model_attributes -%>
+%p
+ %strong= t('<%= plural_name %>.show.<%= attribute.name %>') + ":"
+ = @<%= instance_name %>.<%= attribute.name %>
+<%- end -%>
+
+= render :partial => 'shared/show_edit_destroy_part', :locals => { :child => @<%= instance_name %> } \ No newline at end of file