Sha256: 102b61990392a818430dd62cc24b7195b192ff3862216098be7648dc2d2a7b16
Contents?: true
Size: 1.4 KB
Versions: 1
Compression:
Stored size: 1.4 KB
Contents
# Generates the class, fixtures, and migration for a model in a plugin's test application class PluginTestModelGenerator < PluginAWeek::PluginTestHelper::Generator default_options :skip_migration => false def manifest #:nodoc: record do |m| # Check for class naming collisions. m.class_collisions class_path, class_name # Model and fixture directories. m.directory File.join(plugin_app_root, 'app/models', class_path) m.directory File.join(plugin_test_root, 'fixtures', class_path) # Model class and fixtures. m.template 'model.rb', File.join(plugin_app_root, 'app/models', class_path, "#{file_name}.rb") m.template 'fixtures.yml', File.join(plugin_test_root, 'fixtures', class_path, "#{table_name}.yml") unless options[:skip_migration] m.migration_template 'migration.rb', "#{plugin_app_root}/db/migrate", :assigns => { :migration_name => "Create#{class_name.pluralize.gsub(/::/, '')}" }, :migration_file_name => "create_#{file_path.gsub(/\//, '_').pluralize}" end end end protected def banner "Usage: #{$0} generate your_plugin ModelName [field:type, field:type]" end def add_options!(opt) opt.separator '' opt.separator 'Options:' opt.on('--skip-migration', "Don't generate a migration file for this model") {|v| options[:skip_migration] = v} end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
plugin_test_helper-0.1.6 | generators/plugin_test_model/plugin_test_model_generator.rb |