Class: Gitlab::Graphql::Authorize::ObjectAuthorization
- Inherits:
-
Object
- Object
- Gitlab::Graphql::Authorize::ObjectAuthorization
- Defined in:
- lib/gitlab/graphql/authorize/object_authorization.rb
Instance Attribute Summary collapse
-
#abilities ⇒ Object
readonly
Returns the value of attribute abilities.
-
#permitted_scopes ⇒ Object
readonly
Returns the value of attribute permitted_scopes.
Instance Method Summary collapse
- #any? ⇒ Boolean
-
#initialize(abilities, scopes = %i[api read_api]) ⇒ ObjectAuthorization
constructor
A new instance of ObjectAuthorization.
- #none? ⇒ Boolean
- #ok?(object, current_user, scope_validator: nil) ⇒ Boolean
Constructor Details
#initialize(abilities, scopes = %i[api read_api]) ⇒ ObjectAuthorization
Returns a new instance of ObjectAuthorization.
9 10 11 12 |
# File 'lib/gitlab/graphql/authorize/object_authorization.rb', line 9 def initialize(abilities, scopes = %i[api read_api]) @abilities = Array.wrap(abilities).flatten @permitted_scopes = Array.wrap(scopes) end |
Instance Attribute Details
#abilities ⇒ Object (readonly)
Returns the value of attribute abilities.
7 8 9 |
# File 'lib/gitlab/graphql/authorize/object_authorization.rb', line 7 def abilities @abilities end |
#permitted_scopes ⇒ Object (readonly)
Returns the value of attribute permitted_scopes.
7 8 9 |
# File 'lib/gitlab/graphql/authorize/object_authorization.rb', line 7 def permitted_scopes @permitted_scopes end |
Instance Method Details
#any? ⇒ Boolean
18 19 20 |
# File 'lib/gitlab/graphql/authorize/object_authorization.rb', line 18 def any? abilities.present? end |
#none? ⇒ Boolean
14 15 16 |
# File 'lib/gitlab/graphql/authorize/object_authorization.rb', line 14 def none? abilities.empty? end |
#ok?(object, current_user, scope_validator: nil) ⇒ Boolean
22 23 24 |
# File 'lib/gitlab/graphql/authorize/object_authorization.rb', line 22 def ok?(object, current_user, scope_validator: nil) scopes_ok?(scope_validator) && abilities_ok?(object, current_user) end |