diff options
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 |