Module: PermissionManagement
- Defined in:
- lib/permission_management.rb,
lib/permission_management/engine.rb,
lib/permission_management/version.rb,
lib/generators/permission_management/install_generator.rb
Defined Under Namespace
Modules: Base, Generators
Classes: BaseController, Engine, PermissionsController, RolesController, UserRolesController
Constant Summary
collapse
- DEFAULT_AUTHORIZE_USER_MODEL =
'User'
- DEFAULT_USER_METHOD =
Proc.new do
respond_to?("current_#{PermissionManagement.user_method}".to_sym) && send("current_#{PermissionManagement.user_method}".to_sym)
end
- VERSION =
"0.0.2"
Class Method Summary
collapse
Class Method Details
.action_types ⇒ Object
46
47
48
|
# File 'lib/permission_management.rb', line 46
def self.action_types
[['No Access', :no_access], ['Admin (View, Create, Edit, Delete)', :manage], ['Observer (View Only)', :read]]
end
|
.current_user_method ⇒ Object
50
51
52
|
# File 'lib/permission_management.rb', line 50
def self.current_user_method
DEFAULT_USER_METHOD
end
|
.except_models(arg = []) ⇒ Object
36
37
38
39
40
|
# File 'lib/permission_management.rb', line 36
def self.except_models(arg = [])
return @except_models if @except_models
@except_models = arg + ['PM::Role', 'PM::Permission']
@except_models
end
|
.only_models(arg = :all) ⇒ Object
32
33
34
|
# File 'lib/permission_management.rb', line 32
def self.only_models(arg = :all)
@only_models ||= arg
end
|
.permission_models ⇒ Object
24
25
26
27
28
29
30
|
# File 'lib/permission_management.rb', line 24
def self.permission_models
if only_models == :all
ActiveRecord::Base.descendants.select{|ar| !except_models.include?(ar.to_s) }
else
ActiveRecord::Base.descendants.select{|ar| (only_models - except_models).include?(ar.to_s) }
end
end
|
.role_types ⇒ Object
42
43
44
|
# File 'lib/permission_management.rb', line 42
def self.role_types
[['Full Access', :super_admin], ['Read Only', :read_only], ['No Access', :no_access], ['Custom', :custom]]
end
|
.setup {|_self| ... } ⇒ Object
11
12
13
|
# File 'lib/permission_management.rb', line 11
def self.setup
yield self
end
|
.user_method ⇒ Object
20
21
22
|
# File 'lib/permission_management.rb', line 20
def self.user_method
user_model.underscore
end
|
.user_model(arg = nil) ⇒ Object
15
16
17
18
|
# File 'lib/permission_management.rb', line 15
def self.user_model(arg = nil)
@user_model = arg if arg.present?
@user_model || DEFAULT_AUTHORIZE_USER_MODEL
end
|