aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/generators/active_record/model
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2009-06-28 11:56:44 +0200
committerJosé Valim <jose.valim@gmail.com>2009-06-28 11:56:44 +0200
commit496dde95fbedddad5d04afbe660ff1544229032c (patch)
tree4d6bf2643cd217d1d36a3afff26551480af4c6c5 /railties/lib/generators/active_record/model
parentc03585aa8da175888ad0893ef29d887f87fb749b (diff)
downloadrails-496dde95fbedddad5d04afbe660ff1544229032c.tar.gz
rails-496dde95fbedddad5d04afbe660ff1544229032c.tar.bz2
rails-496dde95fbedddad5d04afbe660ff1544229032c.zip
Added migrations and make base generators be lazy loaded.
Diffstat (limited to 'railties/lib/generators/active_record/model')
-rw-r--r--railties/lib/generators/active_record/model/model_generator.rb11
-rw-r--r--railties/lib/generators/active_record/model/templates/migration.rb4
2 files changed, 7 insertions, 8 deletions
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