RolifyCreateRoles.change()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 21

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
c 1
b 0
f 0
dl 0
loc 21
rs 9.376
1
# frozen_string_literal: true
2
3
class RolifyCreateRoles < ActiveRecord::Migration[5.0]
4
  def change
5
    create_table(:roles) do |t|
6
      t.string :name
7
      t.references :resource, polymorphic: true
8
9
      t.timestamps
10
    end
11
12
    create_table(:users_roles, id: false) do |t|
13
      t.references :user
14
      t.references :role
15
    end
16
17
    add_index(:roles, :name)
18
    add_index(:roles, [:name, :resource_type, :resource_id])
19
    add_index(:users_roles, [:user_id, :role_id])
20
21
    User.all.each do |user|
22
      user.add_role(:user) if user.roles.blank?
23
    end
24
  end
25
end
26