From 496dde95fbedddad5d04afbe660ff1544229032c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Sun, 28 Jun 2009 11:56:44 +0200 Subject: Added migrations and make base generators be lazy loaded. --- .../lib/generators/active_record/model/model_generator.rb | 11 +++++------ .../lib/generators/active_record/model/templates/migration.rb | 4 ++-- 2 files changed, 7 insertions(+), 8 deletions(-) (limited to 'railties/lib/generators/active_record/model') diff --git a/railties/lib/generators/active_record/model/model_generator.rb b/railties/lib/generators/active_record/model/model_generator.rb index 53592c222f..32a2ed15e4 100644 --- a/railties/lib/generators/active_record/model/model_generator.rb +++ b/railties/lib/generators/active_record/model/model_generator.rb @@ -1,3 +1,5 @@ +require 'generators/active_record' + module ActiveRecord module Generators class ModelGenerator < Base @@ -5,8 +7,7 @@ module ActiveRecord check_class_collision - conditional_class_option :timestamps - conditional_class_option :migration + conditional_class_options :migration, :timestamps class_option :parent, :type => :string, :desc => "The parent class for the generated model" @@ -15,12 +16,10 @@ module ActiveRecord template 'model.rb', File.join('app/models', class_path, "#{file_name}.rb") end - # TODO Add migration support def create_migration_file if options[:migration] && options[:parent].nil? -# m.migration_template 'migration.rb', 'db/migrate', :assigns => { -# :migration_name => "Create#{class_name.pluralize.gsub(/::/, '')}" -# }, :migration_file_name => "create_#{file_path.gsub(/\//, '_').pluralize}" + file_name = "create_#{file_path.gsub(/\//, '_').pluralize}" + migration_template "migration.rb", "db/migrate/#{file_name}.rb" end end diff --git a/railties/lib/generators/active_record/model/templates/migration.rb b/railties/lib/generators/active_record/model/templates/migration.rb index 382fd1156e..542e9db2fc 100644 --- a/railties/lib/generators/active_record/model/templates/migration.rb +++ b/railties/lib/generators/active_record/model/templates/migration.rb @@ -1,10 +1,10 @@ -class <%= migration_name %> < ActiveRecord::Migration +class <%= @migration_class_name %> < ActiveRecord::Migration def self.up create_table :<%= table_name %> do |t| <% for attribute in attributes -%> t.<%= attribute.type %> :<%= attribute.name %> <% end -%> -<% unless options[:skip_timestamps] %> +<% if options[:timestamps] %> t.timestamps <% end -%> end -- cgit v1.2.3