Skip to content

Commit

Permalink
fix migration generator for greater-than-one-word model names e.g. En…
Browse files Browse the repository at this point in the history
…codingProfile
  • Loading branch information
greatseth committed May 23, 2009
1 parent 94f9c30 commit 0570acd
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 7 deletions.
16 changes: 14 additions & 2 deletions generators/revisable_migration/revisable_migration_generator.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,21 @@
class RevisableMigrationGenerator < Rails::Generator::NamedBase
def manifest
record do |m|
revisable_columns = [["revisable_original_id", "integer"], ["revisable_branched_from_id", "integer"], ["revisable_number", "integer"], ["revisable_name", "string"], ["revisable_type", "string"], ["revisable_current_at", "datetime"], ["revisable_revised_at", "datetime"], ["revisable_deleted_at", "datetime"], ["revisable_is_current", "boolean"]]
revisable_columns = [
["revisable_original_id", "integer"],
["revisable_branched_from_id", "integer"],
["revisable_number", "integer"],
["revisable_name", "string"],
["revisable_type", "string"],
["revisable_current_at", "datetime"],
["revisable_revised_at", "datetime"],
["revisable_deleted_at", "datetime"],
["revisable_is_current", "boolean"]
]

m.migration_template 'migration.rb', 'db/migrate', :migration_file_name => "make_#{class_name.downcase}_revisable", :assigns => {:cols => revisable_columns}
m.migration_template 'migration.rb', 'db/migrate',
:migration_file_name => "make_#{class_name.underscore.pluralize}_revisable",
:assigns => { :cols => revisable_columns }
end
end
end
11 changes: 6 additions & 5 deletions generators/revisable_migration/templates/migration.rb
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
class Make<%= class_name.underscore.camelize %>Revisable < ActiveRecord::Migration
<% table_name = class_name.underscore.pluralize -%>
class Make<%= class_name.underscore.pluralize.camelize %>Revisable < ActiveRecord::Migration
def self.up
<% cols.each do |c| -%>
add_column :<%= class_name.downcase.pluralize %>, :<%= c.first %>, :<%= c.last %>
<% cols.each do |column_name,column_type| -%>
add_column :<%= table_name %>, :<%= column_name %>, :<%= column_type %>
<% end -%>
end
def self.down
<% cols.each do |c| -%>
remove_column :<%= class_name.downcase.pluralize %>, :<%= c.first %>
<% cols.each do |column_name,_| -%>
remove_column :<%= table_name %>, :<%= column_name %>
<% end -%>
end
end

0 comments on commit 0570acd

Please sign in to comment.