aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--railties/CHANGELOG2
-rw-r--r--railties/lib/rails_generator/generators/components/resource/USAGE30
-rw-r--r--railties/lib/rails_generator/generators/components/scaffold_resource/USAGE10
-rw-r--r--railties/lib/rails_generator/scripts/destroy.rb23
4 files changed, 60 insertions, 5 deletions
diff --git a/railties/CHANGELOG b/railties/CHANGELOG
index e0e3003e8c..1ca1248c1e 100644
--- a/railties/CHANGELOG
+++ b/railties/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Add/Update usage documentation for script/destroy, resource generator and scaffold_resource generator. Closes #7092, #7271, #7267. [bscofield]
+
* Update to script.aculo.us 1.7.0. [Thomas Fuchs]
* Update to Prototype 1.5.0. [Sam Stephenson]
diff --git a/railties/lib/rails_generator/generators/components/resource/USAGE b/railties/lib/rails_generator/generators/components/resource/USAGE
new file mode 100644
index 0000000000..545cbb9cf7
--- /dev/null
+++ b/railties/lib/rails_generator/generators/components/resource/USAGE
@@ -0,0 +1,30 @@
+Description:
+ The resource generator creates an empty model, controller, and functional
+ suitable for inclusion in a REST-like, resource-oriented application.
+
+ The generator takes the name of the model as its first argument. This
+ model name is then pluralized to get the controller name. So "resource
+ post" will generate a Post model and a PostsController and will be
+ intended for URLs like /posts and /posts/45.
+
+ As additional parameters, the generator will take attribute pairs
+ described by name and type. These attributes will be used to
+ prepopulate the migration to create the table for the model. For
+ example, "resource post title:string created_on:date body:text
+ published:boolean" will give you a Post model with those four attributes.
+
+ You don't have to think up all attributes up front, but it's a good
+ idea of adding just the baseline of what's needed to start really
+ working with the resource.
+
+ The generator also adds an appropriate map.resources declaration to
+ your config/routes.rb file, hooking up the rules that'll point URLs to
+ this new resource.
+
+ Unlike the scaffold_resource generator, the resource generator does not
+ create views or add any methods to the generated controller.
+
+Examples:
+ ./script/generate resource post # no attributes
+ ./script/generate resource post title:string created_on:date body:text published:boolean
+ ./script/generate resource purchase order_id:integer created_at:datetime amount:decimal
diff --git a/railties/lib/rails_generator/generators/components/scaffold_resource/USAGE b/railties/lib/rails_generator/generators/components/scaffold_resource/USAGE
index aa47491280..60e13c770f 100644
--- a/railties/lib/rails_generator/generators/components/scaffold_resource/USAGE
+++ b/railties/lib/rails_generator/generators/components/scaffold_resource/USAGE
@@ -25,11 +25,11 @@ Description:
idea of adding just the baseline of what's needed to start really
working with the resource.
- Once the generator has run, you'll need to add a declaration to your
- config/routes.rb file to hook up the rules that'll point URLs to this
- new resource. If you create a resource like "scaffold_resource post",
- you'll need to add "map.resources :posts" (notice the plural form) in
- the routes file. Then your new resource is accessible from /posts.
+ The generator also adds a declaration to your config/routes.rb file
+ to hook up the rules that'll point URLs to this new resource. If you
+ create a resource like "scaffold_resource post", it will add
+ "map.resources :posts" (notice the plural form) in the routes file,
+ making your new resource accessible from /posts.
Examples:
./script/generate scaffold_resource post # no attributes, view will be anemic
diff --git a/railties/lib/rails_generator/scripts/destroy.rb b/railties/lib/rails_generator/scripts/destroy.rb
index 628ec4de32..4c5f483c5b 100644
--- a/railties/lib/rails_generator/scripts/destroy.rb
+++ b/railties/lib/rails_generator/scripts/destroy.rb
@@ -3,5 +3,28 @@ require File.dirname(__FILE__) + '/../scripts'
module Rails::Generator::Scripts
class Destroy < Base
mandatory_options :command => :destroy
+
+ protected
+ def usage_message
+ usage = "\nInstalled Generators\n"
+ Rails::Generator::Base.sources.each do |source|
+ label = source.label.to_s.capitalize
+ names = source.names
+ usage << " #{label}: #{names.join(', ')}\n" unless names.empty?
+ end
+
+ usage << <<end_blurb
+
+This script will destroy all files created by the corresponding
+script/generate command. For instance, script/destroy migration CreatePost
+will delete the appropriate ###_create_post.rb file in db/migrate, while
+script/destroy scaffold_resource Post will delete the posts controller and
+views, post model and migration, all associated tests, and the map.resources
+:posts line in config/routes.rb.
+
+For instructions on finding new generators, run script/generate
+end_blurb
+ return usage
+ end
end
end