aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails_generator/generators/components/scaffold
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib/rails_generator/generators/components/scaffold')
-rw-r--r--railties/lib/rails_generator/generators/components/scaffold/USAGE29
-rw-r--r--railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb102
-rw-r--r--railties/lib/rails_generator/generators/components/scaffold/templates/controller.rb85
-rw-r--r--railties/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb45
-rw-r--r--railties/lib/rails_generator/generators/components/scaffold/templates/helper.rb2
-rw-r--r--railties/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb4
-rw-r--r--railties/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb15
-rw-r--r--railties/lib/rails_generator/generators/components/scaffold/templates/style.css54
-rw-r--r--railties/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb18
-rw-r--r--railties/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb27
-rw-r--r--railties/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb17
-rw-r--r--railties/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb10
12 files changed, 0 insertions, 408 deletions
diff --git a/railties/lib/rails_generator/generators/components/scaffold/USAGE b/railties/lib/rails_generator/generators/components/scaffold/USAGE
deleted file mode 100644
index 810aea16f1..0000000000
--- a/railties/lib/rails_generator/generators/components/scaffold/USAGE
+++ /dev/null
@@ -1,29 +0,0 @@
-Description:
- Scaffolds an entire resource, from model and migration to controller and
- views, along with a full test suite. The resource is ready to use as a
- starting point for your RESTful, resource-oriented application.
-
- Pass the name of the model (in singular form), either CamelCased or
- under_scored, as the first argument, and an optional list of attribute
- pairs.
-
- Attribute pairs are column_name:sql_type arguments specifying the
- model's attributes. Timestamps are added by default, so you don't have to
- specify them by hand as 'created_at:datetime updated_at:datetime'.
-
- You don't have to think up every attribute up front, but it helps to
- sketch out a few so you can start working with the resource immediately.
-
- For example, 'scaffold post title:string body:text published:boolean'
- gives you a model with those three attributes, a controller that handles
- the create/show/update/destroy, forms to create and edit your posts, and
- an index that lists them all, as well as a map.resources :posts
- declaration in config/routes.rb.
-
- If you want to remove all the generated files, run
- 'script/destroy scaffold ModelName'.
-
-Examples:
- `./script/generate scaffold post`
- `./script/generate scaffold post title:string body:text published:boolean`
- `./script/generate scaffold purchase order_id:integer amount:decimal`
diff --git a/railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb b/railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb
deleted file mode 100644
index 2a5edeedb6..0000000000
--- a/railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb
+++ /dev/null
@@ -1,102 +0,0 @@
-class ScaffoldGenerator < Rails::Generator::NamedBase
- default_options :skip_timestamps => false, :skip_migration => false, :force_plural => false
-
- attr_reader :controller_name,
- :controller_class_path,
- :controller_file_path,
- :controller_class_nesting,
- :controller_class_nesting_depth,
- :controller_class_name,
- :controller_underscore_name,
- :controller_singular_name,
- :controller_plural_name
- alias_method :controller_file_name, :controller_underscore_name
- alias_method :controller_table_name, :controller_plural_name
-
- def initialize(runtime_args, runtime_options = {})
- super
-
- if @name == @name.pluralize && !options[:force_plural]
- logger.warning "Plural version of the model detected, using singularized version. Override with --force-plural."
- @name = @name.singularize
- end
-
- @controller_name = @name.pluralize
-
- base_name, @controller_class_path, @controller_file_path, @controller_class_nesting, @controller_class_nesting_depth = extract_modules(@controller_name)
- @controller_class_name_without_nesting, @controller_underscore_name, @controller_plural_name = inflect_names(base_name)
- @controller_singular_name=base_name.singularize
- if @controller_class_nesting.empty?
- @controller_class_name = @controller_class_name_without_nesting
- else
- @controller_class_name = "#{@controller_class_nesting}::#{@controller_class_name_without_nesting}"
- end
- end
-
- def manifest
- record do |m|
- # Check for class naming collisions.
- m.class_collisions("#{controller_class_name}Controller", "#{controller_class_name}Helper")
- m.class_collisions(class_name)
-
- # Controller, helper, views, test and stylesheets directories.
- m.directory(File.join('app/models', class_path))
- m.directory(File.join('app/controllers', controller_class_path))
- m.directory(File.join('app/helpers', controller_class_path))
- m.directory(File.join('app/views', controller_class_path, controller_file_name))
- m.directory(File.join('app/views/layouts', controller_class_path))
- m.directory(File.join('test/functional', controller_class_path))
- m.directory(File.join('test/unit', class_path))
- m.directory(File.join('test/unit/helpers', class_path))
- m.directory(File.join('public/stylesheets', class_path))
-
- for action in scaffold_views
- m.template(
- "view_#{action}.html.erb",
- File.join('app/views', controller_class_path, controller_file_name, "#{action}.html.erb")
- )
- end
-
- # Layout and stylesheet.
- m.template('layout.html.erb', File.join('app/views/layouts', controller_class_path, "#{controller_file_name}.html.erb"))
- m.template('style.css', 'public/stylesheets/scaffold.css')
-
- m.template(
- 'controller.rb', File.join('app/controllers', controller_class_path, "#{controller_file_name}_controller.rb")
- )
-
- m.template('functional_test.rb', File.join('test/functional', controller_class_path, "#{controller_file_name}_controller_test.rb"))
- m.template('helper.rb', File.join('app/helpers', controller_class_path, "#{controller_file_name}_helper.rb"))
- m.template('helper_test.rb', File.join('test/unit/helpers', controller_class_path, "#{controller_file_name}_helper_test.rb"))
-
- m.route_resources controller_file_name
-
- m.dependency 'model', [name] + @args, :collision => :skip
- end
- end
-
- protected
- # Override with your own usage banner.
- def banner
- "Usage: #{$0} scaffold ModelName [field:type, field:type]"
- end
-
- def add_options!(opt)
- opt.separator ''
- opt.separator 'Options:'
- opt.on("--skip-timestamps",
- "Don't add timestamps to the migration file for this model") { |v| options[:skip_timestamps] = v }
- opt.on("--skip-migration",
- "Don't generate a migration file for this model") { |v| options[:skip_migration] = v }
- opt.on("--force-plural",
- "Forces the generation of a plural ModelName") { |v| options[:force_plural] = v }
- end
-
- def scaffold_views
- %w[ index show new edit ]
- end
-
- def model_name
- class_name.demodulize
- end
-end
diff --git a/railties/lib/rails_generator/generators/components/scaffold/templates/controller.rb b/railties/lib/rails_generator/generators/components/scaffold/templates/controller.rb
deleted file mode 100644
index 4d190b9362..0000000000
--- a/railties/lib/rails_generator/generators/components/scaffold/templates/controller.rb
+++ /dev/null
@@ -1,85 +0,0 @@
-class <%= controller_class_name %>Controller < ApplicationController
- # GET /<%= table_name %>
- # GET /<%= table_name %>.xml
- def index
- @<%= table_name %> = <%= class_name %>.all
-
- respond_to do |format|
- format.html # index.html.erb
- format.xml { render :xml => @<%= table_name %> }
- end
- end
-
- # GET /<%= table_name %>/1
- # GET /<%= table_name %>/1.xml
- def show
- @<%= file_name %> = <%= class_name %>.find(params[:id])
-
- respond_to do |format|
- format.html # show.html.erb
- format.xml { render :xml => @<%= file_name %> }
- end
- end
-
- # GET /<%= table_name %>/new
- # GET /<%= table_name %>/new.xml
- def new
- @<%= file_name %> = <%= class_name %>.new
-
- respond_to do |format|
- format.html # new.html.erb
- format.xml { render :xml => @<%= file_name %> }
- end
- end
-
- # GET /<%= table_name %>/1/edit
- def edit
- @<%= file_name %> = <%= class_name %>.find(params[:id])
- end
-
- # POST /<%= table_name %>
- # POST /<%= table_name %>.xml
- def create
- @<%= file_name %> = <%= class_name %>.new(params[:<%= file_name %>])
-
- respond_to do |format|
- if @<%= file_name %>.save
- flash[:notice] = '<%= class_name %> was successfully created.'
- format.html { redirect_to(@<%= file_name %>) }
- format.xml { render :xml => @<%= file_name %>, :status => :created, :location => @<%= file_name %> }
- else
- format.html { render :action => "new" }
- format.xml { render :xml => @<%= file_name %>.errors, :status => :unprocessable_entity }
- end
- end
- end
-
- # PUT /<%= table_name %>/1
- # PUT /<%= table_name %>/1.xml
- def update
- @<%= file_name %> = <%= class_name %>.find(params[:id])
-
- respond_to do |format|
- if @<%= file_name %>.update_attributes(params[:<%= file_name %>])
- flash[:notice] = '<%= class_name %> was successfully updated.'
- format.html { redirect_to(@<%= file_name %>) }
- format.xml { head :ok }
- else
- format.html { render :action => "edit" }
- format.xml { render :xml => @<%= file_name %>.errors, :status => :unprocessable_entity }
- end
- end
- end
-
- # DELETE /<%= table_name %>/1
- # DELETE /<%= table_name %>/1.xml
- def destroy
- @<%= file_name %> = <%= class_name %>.find(params[:id])
- @<%= file_name %>.destroy
-
- respond_to do |format|
- format.html { redirect_to(<%= table_name %>_url) }
- format.xml { head :ok }
- end
- end
-end
diff --git a/railties/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb b/railties/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb
deleted file mode 100644
index cd2fc578bf..0000000000
--- a/railties/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb
+++ /dev/null
@@ -1,45 +0,0 @@
-require 'test_helper'
-
-class <%= controller_class_name %>ControllerTest < ActionController::TestCase
- test "should get index" do
- get :index
- assert_response :success
- assert_not_nil assigns(:<%= table_name %>)
- end
-
- test "should get new" do
- get :new
- assert_response :success
- end
-
- test "should create <%= file_name %>" do
- assert_difference('<%= class_name %>.count') do
- post :create, :<%= file_name %> => { }
- end
-
- assert_redirected_to <%= file_name %>_path(assigns(:<%= file_name %>))
- end
-
- test "should show <%= file_name %>" do
- get :show, :id => <%= table_name %>(:one).to_param
- assert_response :success
- end
-
- test "should get edit" do
- get :edit, :id => <%= table_name %>(:one).to_param
- assert_response :success
- end
-
- test "should update <%= file_name %>" do
- put :update, :id => <%= table_name %>(:one).to_param, :<%= file_name %> => { }
- assert_redirected_to <%= file_name %>_path(assigns(:<%= file_name %>))
- end
-
- test "should destroy <%= file_name %>" do
- assert_difference('<%= class_name %>.count', -1) do
- delete :destroy, :id => <%= table_name %>(:one).to_param
- end
-
- assert_redirected_to <%= table_name %>_path
- end
-end
diff --git a/railties/lib/rails_generator/generators/components/scaffold/templates/helper.rb b/railties/lib/rails_generator/generators/components/scaffold/templates/helper.rb
deleted file mode 100644
index 9bd821b1b2..0000000000
--- a/railties/lib/rails_generator/generators/components/scaffold/templates/helper.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-module <%= controller_class_name %>Helper
-end
diff --git a/railties/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb b/railties/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb
deleted file mode 100644
index 061f64a5e3..0000000000
--- a/railties/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-require 'test_helper'
-
-class <%= controller_class_name %>HelperTest < ActionView::TestCase
-end
diff --git a/railties/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb b/railties/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb
deleted file mode 100644
index aacfbe4a8f..0000000000
--- a/railties/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
- <title><%= controller_class_name %>: <%%= controller.action_name %></title>
- <%%= stylesheet_link_tag 'scaffold' %>
-</head>
-<body>
-
-<p style="color: green"><%%= flash[:notice] %></p>
-
-<%%= yield %>
-
-</body>
-</html>
diff --git a/railties/lib/rails_generator/generators/components/scaffold/templates/style.css b/railties/lib/rails_generator/generators/components/scaffold/templates/style.css
deleted file mode 100644
index 093c20994d..0000000000
--- a/railties/lib/rails_generator/generators/components/scaffold/templates/style.css
+++ /dev/null
@@ -1,54 +0,0 @@
-body { background-color: #fff; color: #333; }
-
-body, p, ol, ul, td {
- font-family: verdana, arial, helvetica, sans-serif;
- font-size: 13px;
- line-height: 18px;
-}
-
-pre {
- background-color: #eee;
- padding: 10px;
- font-size: 11px;
-}
-
-a { color: #000; }
-a:visited { color: #666; }
-a:hover { color: #fff; background-color:#000; }
-
-.fieldWithErrors {
- padding: 2px;
- background-color: red;
- display: table;
-}
-
-#errorExplanation {
- width: 400px;
- border: 2px solid red;
- padding: 7px;
- padding-bottom: 12px;
- margin-bottom: 20px;
- background-color: #f0f0f0;
-}
-
-#errorExplanation h2 {
- text-align: left;
- font-weight: bold;
- padding: 5px 5px 5px 15px;
- font-size: 12px;
- margin: -7px;
- background-color: #c00;
- color: #fff;
-}
-
-#errorExplanation p {
- color: #333;
- margin-bottom: 0;
- padding: 5px;
-}
-
-#errorExplanation ul li {
- font-size: 12px;
- list-style: square;
-}
-
diff --git a/railties/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb b/railties/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb
deleted file mode 100644
index cca1d61c68..0000000000
--- a/railties/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb
+++ /dev/null
@@ -1,18 +0,0 @@
-<h1>Editing <%= singular_name %></h1>
-
-<%% form_for(@<%= singular_name %>) do |f| %>
- <%%= f.error_messages %>
-
-<% for attribute in attributes -%>
- <p>
- <%%= f.label :<%= attribute.name %> %><br />
- <%%= f.<%= attribute.field_type %> :<%= attribute.name %> %>
- </p>
-<% end -%>
- <p>
- <%%= f.submit 'Update' %>
- </p>
-<%% end %>
-
-<%%= link_to 'Show', @<%= singular_name %> %> |
-<%%= link_to 'Back', <%= plural_name %>_path %> \ No newline at end of file
diff --git a/railties/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb b/railties/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb
deleted file mode 100644
index 69beb388db..0000000000
--- a/railties/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb
+++ /dev/null
@@ -1,27 +0,0 @@
-<h1>Listing <%= plural_name %></h1>
-
-<table>
- <tr>
-<% for attribute in attributes -%>
- <th><%= attribute.column.human_name %></th>
-<% end -%>
- <th></th>
- <th></th>
- <th></th>
- </tr>
-
-<%% @<%= plural_name %>.each do |<%= singular_name %>| %>
- <tr>
-<% for attribute in attributes -%>
- <td><%%=h <%= singular_name %>.<%= attribute.name %> %></td>
-<% end -%>
- <td><%%= link_to 'Show', <%= singular_name %> %></td>
- <td><%%= link_to 'Edit', edit_<%= singular_name %>_path(<%= singular_name %>) %></td>
- <td><%%= link_to 'Destroy', <%= singular_name %>, :confirm => 'Are you sure?', :method => :delete %></td>
- </tr>
-<%% end %>
-</table>
-
-<br />
-
-<%%= link_to 'New <%= singular_name %>', new_<%= singular_name %>_path %> \ No newline at end of file
diff --git a/railties/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb b/railties/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb
deleted file mode 100644
index 96c89fc50e..0000000000
--- a/railties/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb
+++ /dev/null
@@ -1,17 +0,0 @@
-<h1>New <%= singular_name %></h1>
-
-<%% form_for(@<%= singular_name %>) do |f| %>
- <%%= f.error_messages %>
-
-<% for attribute in attributes -%>
- <p>
- <%%= f.label :<%= attribute.name %> %><br />
- <%%= f.<%= attribute.field_type %> :<%= attribute.name %> %>
- </p>
-<% end -%>
- <p>
- <%%= f.submit 'Create' %>
- </p>
-<%% end %>
-
-<%%= link_to 'Back', <%= plural_name %>_path %> \ No newline at end of file
diff --git a/railties/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb b/railties/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb
deleted file mode 100644
index adecaf70c6..0000000000
--- a/railties/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb
+++ /dev/null
@@ -1,10 +0,0 @@
-<% for attribute in attributes -%>
-<p>
- <b><%= attribute.column.human_name %>:</b>
- <%%=h @<%= singular_name %>.<%= attribute.name %> %>
-</p>
-
-<% end -%>
-
-<%%= link_to 'Edit', edit_<%= singular_name %>_path(@<%= singular_name %>) %> |
-<%%= link_to 'Back', <%= plural_name %>_path %> \ No newline at end of file