25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/rolify/role.rb', line 25
def has_role?(role_name, resource = nil)
return has_strict_role?(role_name, resource) if self.class.strict_rolify and resource and resource != :any
if new_record?
role_array = self.roles.detect { |r|
r.name.to_s == role_name.to_s &&
(r.resource == resource ||
resource.nil? ||
(resource == :any && r.resource.present?))
}
else
role_array = self.class.adapter.where(self.roles, name: role_name, resource: resource)
end
return false if role_array.nil?
role_array != []
end
|