require 'generators/data_mapper' module DataMapper module Generators class MigrationGenerator < Base argument :attributes, :type => :array, :default => [], :banner => "field:type field:type" class_option :id, :type => :numeric, :desc => "The id to be used in this migration" def create_migration_file set_local_assigns! migration_template "migration.rb", "db/migrate/#{file_name}.rb" end protected attr_reader :migration_action def set_local_assigns! if file_name =~ /^(add|remove|drop)_.*_(?:to|from)_(.*)/ @migration_action = $1 == 'add' ? 'add' : 'drop' @table_name = $2.pluralize end end end end end