5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/godmin/authorization/policy_finder.rb', line 5
def find(object)
return object.policy_class if object.respond_to?(:policy_class)
return object.class.policy_class if object.class.respond_to?(:policy_class)
klass =
if object.respond_to?(:model_name)
object.model_name
elsif object.class.respond_to?(:model_name)
object.class.model_name
elsif object.is_a?(Class)
object
elsif object.is_a?(Symbol)
object.to_s.classify
else
object.class
end
if Godmin.namespace
"#{Godmin.namespace.classify}::#{klass}Policy"
else
"#{klass}Policy"
end.constantize
end
|