Class: ApplicationPolicy::UpdateScope

Inherits:
Scope
  • Object
show all
Defined in:
app/policies/application_policy.rb

Instance Method Summary collapse

Methods inherited from Scope

#initialize

Constructor Details

This class inherits a constructor from ApplicationPolicy::Scope

Instance Method Details

#resolve ⇒ Object



84
85
86
87
88
89
90
91
# File 'app/policies/application_policy.rb', line 84

def resolve
  return scope.local if user&.is_moderator? || !scope.respond_to?(:granted_to)

  result = scope.granted_to(STANDARD_EDIT_PERMISSIONS, [user, nil])
  result = result.or(scope.granted_to(STANDARD_EDIT_PERMISSIONS, user.roles)) if user
  result = result.or(scope.granted_to(STANDARD_EDIT_PERMISSIONS, user.groups)) if user
  result.local
end