X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=vendor%2Frails%2Frailties%2Flib%2Frails_generator%2Fgenerators%2Fcomponents%2Fcontroller%2Fcontroller_generator.rb;fp=vendor%2Frails%2Frailties%2Flib%2Frails_generator%2Fgenerators%2Fcomponents%2Fcontroller%2Fcontroller_generator.rb;h=77b2220d579b116fd2b11162faf5fcb6ae31642f;hb=d115f2e23823271635bad69229a42cd8ac68debe;hp=0000000000000000000000000000000000000000;hpb=37cb670bf3ddde90b214e591f100ed4446469484;p=depot.git

diff --git a/vendor/rails/railties/lib/rails_generator/generators/components/controller/controller_generator.rb b/vendor/rails/railties/lib/rails_generator/generators/components/controller/controller_generator.rb
new file mode 100644
index 0000000..77b2220
--- /dev/null
+++ b/vendor/rails/railties/lib/rails_generator/generators/components/controller/controller_generator.rb
@@ -0,0 +1,37 @@
+class ControllerGenerator < Rails::Generator::NamedBase
+  def manifest
+    record do |m|
+      # Check for class naming collisions.
+      m.class_collisions "#{class_name}Controller", "#{class_name}ControllerTest", "#{class_name}Helper"
+
+      # Controller, helper, views, and test directories.
+      m.directory File.join('app/controllers', class_path)
+      m.directory File.join('app/helpers', class_path)
+      m.directory File.join('app/views', class_path, file_name)
+      m.directory File.join('test/functional', class_path)
+
+      # Controller class, functional test, and helper class.
+      m.template 'controller.rb',
+                  File.join('app/controllers',
+                            class_path,
+                            "#{file_name}_controller.rb")
+
+      m.template 'functional_test.rb',
+                  File.join('test/functional',
+                            class_path,
+                            "#{file_name}_controller_test.rb")
+
+      m.template 'helper.rb',
+                  File.join('app/helpers',
+                            class_path,
+                            "#{file_name}_helper.rb")
+
+      # View template for each action.
+      actions.each do |action|
+        path = File.join('app/views', class_path, file_name, "#{action}.html.erb")
+        m.template 'view.html.erb', path,
+          :assigns => { :action => action, :path => path }
+      end
+    end
+  end
+end