diff --git a/railties/CHANGELOG b/railties/CHANGELOG index e0e3003e8c59d..1ca1248c1e950 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 0000000000000..545cbb9cf767f --- /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 aa47491280918..60e13c770f986 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 628ec4de32ee7..4c5f483c5b9db 100644 --- a/railties/lib/rails_generator/scripts/destroy.rb +++ b/railties/lib/rails_generator/scripts/destroy.rb @@ -3,5 +3,28 @@ 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 << <