Module: WildlandHerd::ActsAsRole::ClassMethods

Defined in:
lib/wildland_herd/acts_as_role.rb

Instance Method Summary collapse

Instance Method Details

#build_global_admin(attributes = {}) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/wildland_herd/acts_as_role.rb', line 8

def build_global_admin(attributes={})
  new(
    attributes.merge!(name: 'Global Admin'){ |key, v1, v2| v1 }
  ).tap do |role|
    role.permissions << Permission.build_admin(name: 'Global Admin')
  end
end

#build_organization_admin(attributes = {}) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/wildland_herd/acts_as_role.rb', line 16

def build_organization_admin(attributes={})
  new(
    attributes.merge!(name: 'Global Admin'){ |key, v1, v2| v1 }
  ).tap do |role|
    role.permissions << Permission.build_admin(
      name: 'Full Organization',
      permissible_type: 'Organization',
      permissible_id: role.organization_id
    )
    role.permissions << Permission.build_admin(
      name: 'Full Role',
      permissible_type: 'Role'
    )
    role.permissions << Permission.build_admin(
      name: 'Full Permissions',
      permissible_type: 'Permission'
    )
  end
end