osem-fcy/db/migrate/20140730104658_migrate_roles_for_cancancan.rb
2014-08-14 12:08:01 +03:00

27 lines
723 B
Ruby

class MigrateRolesForCancancan < ActiveRecord::Migration
def up
# Store the number of existing roles
old_roles = Role.count
Role.all.each do |role|
role.users.each do |user|
Conference.all.each do |conference|
if role.name == 'Admin' || role.name == 'Organizer'
user.add_role :organizer, conference
else
user.add_role role.name.parameterize.underscore.to_sym, conference
end
end
end
end
# Delete old roles
Role.first(old_roles).each do |role|
role.destroy
end
end
def down
raise ActiveRecord::IrreversibleMigration.new('Cannot reverse migration. Deleted events cannot be re-created')
end
end