--- /dev/null
+class MigrationGenerator < Rails::Generator::NamedBase
+ def manifest
+ record do |m|
+ m.migration_template 'migration.rb', 'db/migrate', :assigns => get_local_assigns
+ end
+ end
+
+
+ private
+ def get_local_assigns
+ returning(assigns = {}) do
+ if class_name.underscore =~ /^(add|remove)_.*_(?:to|from)_(.*)/
+ assigns[:migration_action] = $1
+ assigns[:table_name] = $2.pluralize
+ else
+ assigns[:attributes] = []
+ end
+ end
+ end
+end