Module: Ez::Permissions::Model

Defined in:
app/models/ez/permissions/model.rb

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object

rubocop:disable Metrics/MethodLength



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'app/models/ez/permissions/model.rb', line 7

def self.included(base)
  base.has_many :assigned_roles,
                class_name: 'Ez::Permissions::ModelRole',
                as:         :model

  base.has_many :roles,
                -> { distinct },
                through:    :assigned_roles,
                class_name: 'Ez::Permissions::Role'

  base.has_many :permissions,
                -> { distinct },
                through:    :roles,
                class_name: 'Ez::Permissions::Permission'
end