Class: Gitlab::Graphql::Authorize::ObjectAuthorization
- Inherits:
-
Object
- Object
- Gitlab::Graphql::Authorize::ObjectAuthorization
show all
- Includes:
- Allowable
- Defined in:
- lib/gitlab/graphql/authorize/object_authorization.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Allowable
#can?, #can_all?, #can_any?
Constructor Details
#initialize(abilities, scopes = %i[api read_api])) ⇒ ObjectAuthorization
11
12
13
14
|
# File 'lib/gitlab/graphql/authorize/object_authorization.rb', line 11
def initialize(abilities, scopes = i[api read_api])
@abilities = Array.wrap(abilities).flatten
@permitted_scopes = Array.wrap(scopes)
end
|
Instance Attribute Details
#abilities ⇒ Object
Returns the value of attribute abilities.
9
10
11
|
# File 'lib/gitlab/graphql/authorize/object_authorization.rb', line 9
def abilities
@abilities
end
|
#permitted_scopes ⇒ Object
Returns the value of attribute permitted_scopes.
9
10
11
|
# File 'lib/gitlab/graphql/authorize/object_authorization.rb', line 9
def permitted_scopes
@permitted_scopes
end
|
Instance Method Details
#any? ⇒ Boolean
20
21
22
|
# File 'lib/gitlab/graphql/authorize/object_authorization.rb', line 20
def any?
abilities.present?
end
|
#none? ⇒ Boolean
16
17
18
|
# File 'lib/gitlab/graphql/authorize/object_authorization.rb', line 16
def none?
abilities.empty?
end
|
#ok?(object, current_user, scope_validator:, skip_abilities: nil) ⇒ Boolean
24
25
26
|
# File 'lib/gitlab/graphql/authorize/object_authorization.rb', line 24
def ok?(object, current_user, scope_validator:, skip_abilities: nil)
scopes_ok?(scope_validator) && abilities_ok?(object, current_user, skip_abilities: skip_abilities)
end
|