From d794593e10cd328541e4d939a5153ab456f30bd9 Mon Sep 17 00:00:00 2001 From: Stella Rouzi Date: Wed, 30 Jul 2014 15:22:14 +0300 Subject: [PATCH] migrate roles --- ...0140730104658_migrate_roles_for_can_can.rb | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 db/migrate/20140730104658_migrate_roles_for_can_can.rb diff --git a/db/migrate/20140730104658_migrate_roles_for_can_can.rb b/db/migrate/20140730104658_migrate_roles_for_can_can.rb new file mode 100644 index 00000000..4c833280 --- /dev/null +++ b/db/migrate/20140730104658_migrate_roles_for_can_can.rb @@ -0,0 +1,28 @@ +class MigrateRolesForCanCan < 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