Module: RoleAuthorization::Roles::Role::ClassMethods

Defined in:
lib/role_authorization/roles/role.rb

Instance Method Summary collapse

Instance Method Details

#group(group_name) ⇒ Object



72
73
74
# File 'lib/role_authorization/roles/role.rb', line 72

def group(group_name)
  RoleAuthorization::Roles.manager.groups[group_name.to_sym]
end

#roles(scope = nil, creations = nil) ⇒ Object



76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/role_authorization/roles/role.rb', line 76

def roles(scope = nil, creations = nil)
  scoped_roles = if scope.nil? || scope.to_sym == :global
                   RoleAuthorization::Roles.manager.global_roles
                 else
                   scope = if scope.is_a?(Class)
                             scope.class.to_s.downcase.to_sym
                           else
                             scope.to_s.downcase.to_sym
                           end

                   RoleAuthorization::Roles.manager.object_roles[scope]
                 end

  if creations.nil?
    scoped_roles.flatten.uniq
  else
    creations.map do |creation|
      scoped_roles & RoleAuthorization::Roles.creations[creation]
    end.flatten.uniq
  end
end