Module: NonGrata::Tenant

Defined in:
lib/non_grata/tenant.rb

Instance Method Summary collapse

Instance Method Details

#authorization_rolesObject



23
24
25
# File 'lib/non_grata/tenant.rb', line 23

def authorization_roles
    NonGrata:AuthorizationRole.where(tenant_id: self.id, tenant_type: self.class.name)
end

#authorization_schemeObject



27
28
29
# File 'lib/non_grata/tenant.rb', line 27

def authorization_scheme 
    :main
end

#create_role(attributes) ⇒ Object



4
5
6
7
8
9
# File 'lib/non_grata/tenant.rb', line 4

def create_role(attributes) 
    attributes[:tenant_id] ||= self.id
    attributes[:tenant_type] ||= self.class.name
    attributes[:scheme_name] ||= self.authorization_scheme
    role = NonGrata::AuthorizationRole.create(attributes)
end

#destroy_role(name) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/non_grata/tenant.rb', line 15

def destroy_role(name)
    role = NonGrata::AuthorizationRole.find_by(
        name: name, 
        scheme_name: authorization_scheme.to_s, 
        tenant_id: self.id, tenant_type: self.class.name)
    role.destroy if role
end

#rolesObject



11
12
13
# File 'lib/non_grata/tenant.rb', line 11

def roles
    NonGrata::AuthorizationRole.where(tenant_id: self.id, tenant_type: self.class.name)
end