CreateRolePermissions   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 30
rs 10
c 1
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A change() 0 28 1
1
# frozen_string_literal: true
2
3
class CreateRolePermissions < ActiveRecord::Migration[5.2]
4
  def change
5
    create_table :role_permissions do |t|
6
      t.string :name
7
      t.string :value, default: ""
8
      t.boolean :enabled, default: false
9
      t.references :role, foreign_key: true
10
11
      t.timestamps
12
    end
13
14
    Role.all.each do |role|
15
      role.role_permissions.create(name: "can_create_rooms", value: role.can_create_rooms.to_s, enabled: true)
16
      role.role_permissions.create(name: "send_promoted_email", value: role.send_promoted_email.to_s, enabled: true)
17
      role.role_permissions.create(name: "send_demoted_email", value: role.send_demoted_email.to_s, enabled: true)
18
      role.role_permissions.create(name: "can_edit_site_settings", value: role.can_edit_site_settings.to_s,
19
        enabled: true)
20
      role.role_permissions.create(name: "can_edit_roles", value: role.can_edit_roles.to_s, enabled: true)
21
      role.role_permissions.create(name: "can_manage_users", value: role.can_manage_users.to_s, enabled: true)
22
    end
23
24
    # Add these back in once the change to postgres is made
25
    # remove_column :roles, :can_create_rooms
26
    # remove_column :roles, :send_promoted_email
27
    # remove_column :roles, :send_demoted_email
28
    # remove_column :roles, :can_edit_site_settings
29
    # remove_column :roles, :can_edit_roles
30
    # remove_column :roles, :can_manage_users
31
  end
32
end
33