git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@1951 e93f8b46-1217-0410-a6f0-8f06a7374b81tags/0.8.0-RC1
@@ -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 |
@@ -15,4 +15,30 @@ class RedminePluginModelGenerator < ModelGenerator | |||
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, "#{class_name}Test" | |||
# Model, test, and fixture directories. | |||
m.directory File.join('app/models', class_path) | |||
m.directory File.join('test/unit', class_path) | |||
m.directory File.join('test/fixtures', class_path) | |||
# Model class, unit test, and fixtures. | |||
m.template 'model.rb.erb', File.join('app/models', class_path, "#{file_name}.rb") | |||
m.template 'unit_test.rb.erb', File.join('test/unit', class_path, "#{file_name}_test.rb") | |||
unless options[:skip_fixture] | |||
m.template 'fixtures.yml', File.join('test/fixtures', "#{table_name}.yml") | |||
end | |||
unless options[:skip_migration] | |||
m.migration_template 'migration.rb.erb', 'db/migrate', :assigns => { | |||
:migration_name => "Create#{class_name.pluralize.gsub(/::/, '')}" | |||
}, :migration_file_name => "create_#{file_path.gsub(/\//, '_').pluralize}" | |||
end | |||
end | |||
end | |||
end |