Class: Groups::UserGroupsFinder

Inherits:
Base
  • Object
show all
Defined in:
app/finders/groups/user_groups_finder.rb

Instance Method Summary collapse

Constructor Details

#initialize(current_user, target_user, params = {}) ⇒ UserGroupsFinder

Returns a new instance of UserGroupsFinder.



17
18
19
20
21
# File 'app/finders/groups/user_groups_finder.rb', line 17

def initialize(current_user, target_user, params = {})
  @current_user = current_user
  @target_user = target_user
  @params = params
end

Instance Method Details

#executeObject



23
24
25
26
27
28
29
30
31
# File 'app/finders/groups/user_groups_finder.rb', line 23

def execute
  return Group.none unless current_user&.can?(:read_user_groups, target_user)
  return Group.none if target_user.blank?

  items = by_permission_scope
  items = by_search(items)

  sort(items)
end