aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/generators/rails/scaffold_controller
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib/generators/rails/scaffold_controller')
-rw-r--r--railties/lib/generators/rails/scaffold_controller/USAGE18
-rw-r--r--railties/lib/generators/rails/scaffold_controller/scaffold_controller_generator.rb14
-rw-r--r--railties/lib/generators/rails/scaffold_controller/templates/controller.rb2
3 files changed, 34 insertions, 0 deletions
diff --git a/railties/lib/generators/rails/scaffold_controller/USAGE b/railties/lib/generators/rails/scaffold_controller/USAGE
new file mode 100644
index 0000000000..2570da2e85
--- /dev/null
+++ b/railties/lib/generators/rails/scaffold_controller/USAGE
@@ -0,0 +1,18 @@
+Description:
+ Stubs out a scaffolded controller and its views. Pass the controller name,
+ either CamelCased or under_scored, and a list of views as arguments.
+
+ To create a controller within a module, specify the controller name as a
+ path like 'parent_module/controller_name'.
+
+ This generates a controller class in app/controllers and invokes helper,
+ template engine and test framework generators.
+
+Example:
+ `./script/generate scaffold_controller CreditCard open debit credit close`
+
+ Credit card controller with URLs like /credit_card/debit.
+ Controller: app/controllers/credit_card_controller.rb
+ Functional Test: test/functional/credit_card_controller_test.rb
+ Views: app/views/credit_card/debit.html.erb [...]
+ Helper: app/helpers/credit_card_helper.rb
diff --git a/railties/lib/generators/rails/scaffold_controller/scaffold_controller_generator.rb b/railties/lib/generators/rails/scaffold_controller/scaffold_controller_generator.rb
new file mode 100644
index 0000000000..4d36b6603b
--- /dev/null
+++ b/railties/lib/generators/rails/scaffold_controller/scaffold_controller_generator.rb
@@ -0,0 +1,14 @@
+module Rails
+ module Generators
+ class ScaffoldControllerGenerator < NamedBase
+ check_class_collision :suffix => "Controller"
+
+ def create_controller_files
+ template 'controller.rb', File.join('app/controllers', class_path, "#{file_name}_controller.rb")
+ end
+
+ hook_for :template_engine, :test_framework, :as => :scaffold
+ invoke_if :helper
+ end
+ end
+end
diff --git a/railties/lib/generators/rails/scaffold_controller/templates/controller.rb b/railties/lib/generators/rails/scaffold_controller/templates/controller.rb
new file mode 100644
index 0000000000..6bf38cb9b4
--- /dev/null
+++ b/railties/lib/generators/rails/scaffold_controller/templates/controller.rb
@@ -0,0 +1,2 @@
+class <%= class_name %>Controller < ApplicationController
+end