Module: Rolify::Resource::ClassMethods

Defined in:
lib/rolify/resource.rb

Instance Method Summary collapse

Instance Method Details

#find_roles(role_name = nil, user = nil) ⇒ Object



8
9
10
11
12
13
# File 'lib/rolify/resource.rb', line 8

def find_roles(role_name = nil, user = nil)
  roles = user && (user != :any) ? user.roles : self.role_class
  roles = roles.where(:resource_type => self.to_s)
  roles = roles.where(:name => role_name.to_s) if role_name && (role_name != :any)
  roles
end

#with_role(role_name, user = nil) ⇒ Object Also known as: with_roles



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

def with_role(role_name, user = nil)
  if role_name.is_a? Array
    role_name.map!(&:to_s)
  else
    role_name = role_name.to_s
  end
  resources = self.adapter.resources_find(self.role_table_name, self, role_name)
  user ? self.adapter.in(resources, user, role_name) : resources
end