module Roles::Role::ClassMethods
Public Instance Methods
with_role(role_name, resource = nil)
click to toggle source
# File lib/roles/role.rb, line 8 def with_role(role_name, resource = nil) if resource.nil? self.includes(role_table).where("#{role_table}.name LIKE '%s'", role_name.to_s).where("#{role_table}.resource_type IS NULL").where("#{role_table}.resource_id IS NULL") elsif resource.is_a? Class self.includes(role_table).where("#{role_table}.name LIKE '%s'", role_name.to_s).where("#{role_table}.resource_type LIKE '%s'", resource.to_s).where("#{role_table}.resource_id IS NULL") else self.includes(role_table).where("#{role_table}.name LIKE '%s'", role_name.to_s).where("#{role_table}.resource_type LIKE '%s'", resource.class.to_s).where("#{role_table}.resource_id = %s", resource.id) end end