summaryrefslogtreecommitdiffstats
path: root/lib/generators/redmine_plugin_model
diff options
context:
space:
mode:
Diffstat (limited to 'lib/generators/redmine_plugin_model')
-rw-r--r--lib/generators/redmine_plugin_model/redmine_plugin_model_generator.rb26
-rw-r--r--lib/generators/redmine_plugin_model/templates/migration.rb.erb (renamed from lib/generators/redmine_plugin_model/templates/migration.rb)0
-rw-r--r--lib/generators/redmine_plugin_model/templates/model.rb.erb (renamed from lib/generators/redmine_plugin_model/templates/model.rb)0
-rw-r--r--lib/generators/redmine_plugin_model/templates/unit_test.rb.erb (renamed from lib/generators/redmine_plugin_model/templates/unit_test.rb)0
4 files changed, 26 insertions, 0 deletions
diff --git a/lib/generators/redmine_plugin_model/redmine_plugin_model_generator.rb b/lib/generators/redmine_plugin_model/redmine_plugin_model_generator.rb
index b712d9b07..059a028d6 100644
--- a/lib/generators/redmine_plugin_model/redmine_plugin_model_generator.rb
+++ b/lib/generators/redmine_plugin_model/redmine_plugin_model_generator.rb
@@ -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
diff --git a/lib/generators/redmine_plugin_model/templates/migration.rb b/lib/generators/redmine_plugin_model/templates/migration.rb.erb
index 2a305a6a9..2a305a6a9 100644
--- a/lib/generators/redmine_plugin_model/templates/migration.rb
+++ b/lib/generators/redmine_plugin_model/templates/migration.rb.erb
diff --git a/lib/generators/redmine_plugin_model/templates/model.rb b/lib/generators/redmine_plugin_model/templates/model.rb.erb
index 8d4c89e91..8d4c89e91 100644
--- a/lib/generators/redmine_plugin_model/templates/model.rb
+++ b/lib/generators/redmine_plugin_model/templates/model.rb.erb
diff --git a/lib/generators/redmine_plugin_model/templates/unit_test.rb b/lib/generators/redmine_plugin_model/templates/unit_test.rb.erb
index cc8b2e591..cc8b2e591 100644
--- a/lib/generators/redmine_plugin_model/templates/unit_test.rb
+++ b/lib/generators/redmine_plugin_model/templates/unit_test.rb.erb