summaryrefslogtreecommitdiffstats
path: root/lib/generators/redmine_plugin_controller
diff options
context:
space:
mode:
Diffstat (limited to 'lib/generators/redmine_plugin_controller')
-rw-r--r--lib/generators/redmine_plugin_controller/redmine_plugin_controller_generator.rb36
-rw-r--r--lib/generators/redmine_plugin_controller/templates/controller.rb.erb (renamed from lib/generators/redmine_plugin_controller/templates/controller.rb)0
-rw-r--r--lib/generators/redmine_plugin_controller/templates/functional_test.rb.erb (renamed from lib/generators/redmine_plugin_controller/templates/functional_test.rb)0
-rw-r--r--lib/generators/redmine_plugin_controller/templates/helper.rb.erb (renamed from lib/generators/redmine_plugin_controller/templates/helper.rb)0
4 files changed, 36 insertions, 0 deletions
diff --git a/lib/generators/redmine_plugin_controller/redmine_plugin_controller_generator.rb b/lib/generators/redmine_plugin_controller/redmine_plugin_controller_generator.rb
index 533d65ce8..efe28c5da 100644
--- a/lib/generators/redmine_plugin_controller/redmine_plugin_controller_generator.rb
+++ b/lib/generators/redmine_plugin_controller/redmine_plugin_controller_generator.rb
@@ -15,4 +15,40 @@ class RedminePluginControllerGenerator < ControllerGenerator
def destination_root
File.join(RAILS_ROOT, plugin_path)
end
+
+ def manifest
+ record do |m|
+ # Check for class naming collisions.
+ m.class_collisions class_path, "#{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.erb',
+ File.join('app/controllers',
+ class_path,
+ "#{file_name}_controller.rb")
+
+ m.template 'functional_test.rb.erb',
+ File.join('test/functional',
+ class_path,
+ "#{file_name}_controller_test.rb")
+
+ m.template 'helper.rb.erb',
+ 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
diff --git a/lib/generators/redmine_plugin_controller/templates/controller.rb b/lib/generators/redmine_plugin_controller/templates/controller.rb.erb
index 615986d9e..615986d9e 100644
--- a/lib/generators/redmine_plugin_controller/templates/controller.rb
+++ b/lib/generators/redmine_plugin_controller/templates/controller.rb.erb
diff --git a/lib/generators/redmine_plugin_controller/templates/functional_test.rb b/lib/generators/redmine_plugin_controller/templates/functional_test.rb.erb
index 876bd79e2..876bd79e2 100644
--- a/lib/generators/redmine_plugin_controller/templates/functional_test.rb
+++ b/lib/generators/redmine_plugin_controller/templates/functional_test.rb.erb
diff --git a/lib/generators/redmine_plugin_controller/templates/helper.rb b/lib/generators/redmine_plugin_controller/templates/helper.rb.erb
index 3fe2ecdc7..3fe2ecdc7 100644
--- a/lib/generators/redmine_plugin_controller/templates/helper.rb
+++ b/lib/generators/redmine_plugin_controller/templates/helper.rb.erb