Method: Rolify::Adapter::RoleAdapter#find_cached_strict

Defined in:
lib/rolify/adapters/mongoid/role_adapter.rb,
lib/rolify/adapters/active_record/role_adapter.rb

#find_cached_strict(relation, args) ⇒ Object



41
42
43
44
45
46
47
48
# File 'lib/rolify/adapters/mongoid/role_adapter.rb', line 41

def find_cached_strict(relation, args)
  resource_id = (args[:resource].nil? || args[:resource].is_a?(Class)) ? nil : args[:resource].id
  resource_type = args[:resource].is_a?(Class) ? args[:resource].to_s : args[:resource].class.name

  relation.find_all do |role|
    role.resource_id == resource_id && role.resource_type == resource_type && role.name == args[:name].to_s
  end
end