Module: Roles::Resource

Defined in:
lib/roles/resource.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



3
4
5
# File 'lib/roles/resource.rb', line 3

def self.included(base)
  base.extend ClassMethods
end

Instance Method Details

#users_with_role(role_name = nil) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/roles/resource.rb', line 17

def users_with_role(role_name = nil)
  if role_name.nil?
    self.class.user_class.includes(self.class.role_table).where("#{self.class.role_table}.resource_type LIKE '%s'", self.class.to_s).where("#{self.class.role_table}.resource_id = %s", self.id)
  else
    self.class.user_class.includes(self.class.role_table).where("#{self.class.role_table}.resource_type LIKE '%s'", self.class.to_s).where("#{self.class.role_table}.resource_id = %s", self.id).where("#{self.class.role_table}.name LIKE '%s'", role_name.to_s)
  end
end