Class: Rolify::Adapter::ResourceAdapter
- Inherits:
-
ResourceAdapterBase
- Object
- Base
- ResourceAdapterBase
- Rolify::Adapter::ResourceAdapter
- Defined in:
- lib/rolify/adapters/mongoid/resource_adapter.rb,
lib/rolify/adapters/active_record/resource_adapter.rb
Instance Method Summary collapse
Methods inherited from Base
create, #initialize, #role_class, #role_table, #user_class
Constructor Details
This class inherits a constructor from Rolify::Adapter::Base
Instance Method Details
#in(relation, user, role_names) ⇒ Object
19 20 21 22 23 24 |
# File 'lib/rolify/adapters/mongoid/resource_adapter.rb', line 19 def in(resources, user, role_names) roles = user.roles.where(:name.in => Array(role_names)) return [] if resources.empty? || roles.empty? resources.delete_if { |resource| (resource.applied_roles & roles).empty? } resources end |
#resources_find(roles_table, relation, role_name) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/rolify/adapters/mongoid/resource_adapter.rb', line 6 def resources_find(roles_table, relation, role_name) roles = roles_table.classify.constantize.where(:name.in => Array(role_name), :resource_type => relation.to_s) resources = [] roles.each do |role| if role.resource_id.nil? resources += relation.all else resources << role.resource end end resources.uniq end |