module Roles::Resource

Public Class Methods

included(base) click to toggle source
# File lib/roles/resource.rb, line 3
def self.included(base)
  base.extend ClassMethods
end

Public Instance Methods

users_with_role(role_name = nil) click to toggle source
# 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