28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/active_record/has/permission.rb', line 28
def permission_class
if respond_to?(:base_class)
begin
[permission_namespace, "#{self.to_s}Permission"].join('::').constantize
rescue
[permission_namespace ,"#{self.base_class.to_s}Permission"].join('::').constantize
end
elsif respond_to?(:proxy_reflection)
begin
[permission_namespace, "#{self.proxy_reflection.class_name}Permsission"].join('::').constantize
rescue
[permission_namespace, "#{self.proxy_reflection.class_name.constantize.base_class.to_s}Permission"].join('::').constantize
end
else
begin
[permission_namespace, "#{self.to_s}Permission"].join('::').constantize
rescue
[permission_namespace, "#{self.superclass.to_s}Permission"].join('::').constantize
end
end
end
|