aboutsummaryrefslogblamecommitdiffstats
path: root/railties/generators/new_controller.rb
blob: 3060c063828f1227df3b4bf8f96dc804ad5e355a (plain) (tree)










































                                                                                        
#!/usr/local/bin/ruby
require File.dirname(__FILE__) + '/../config/environment'
require 'generator'

unless ARGV.empty?
  rails_root = File.dirname(__FILE__) + '/..'
  name       = ARGV.shift
  actions    = ARGV
  Generator::Controller.new(rails_root, name, actions).generate
else
  puts <<-END_HELP

NAME
     new_controller - create controller and view stub files

SYNOPSIS
     new_controller ControllerName action [action ...]

DESCRIPTION
     The new_controller generator takes the name of the new controller as the
     first argument and a variable number of view names as subsequent arguments.
     The controller name should be supplied without a "Controller" suffix. The
     generator will add that itself.
     
     From the passed arguments, new_controller generates a controller file in
     app/controllers with a render action for each of the view names passed.
     It then creates a controller test suite in test/functional with one failing
     test case. Finally, it creates an HTML stub for each of the view names in
     app/views under a directory with the same name as the controller.
     
EXAMPLE
     new_controller Blog list display new edit
     
     This will generate a BlogController class in
     app/controllers/blog_controller.rb, a BlogHelper class in
     app/helpers/blog_helper.rb and a BlogControllerTest in
     test/functional/blog_controller_test.rb. It will also create list.rhtml,
     display.rhtml, new.rhtml, and edit.rhtml in app/views/blog.
     
     The BlogController class will have the following methods: list, display, new, edit.
     Each will default to render the associated template file.
END_HELP
end