Class: RailsIam::Authorization::AuthorizationContext
- Inherits:
-
Object
- Object
- RailsIam::Authorization::AuthorizationContext
- Defined in:
- app/services/rails_iam/authorization/authorization_context.rb
Instance Attribute Summary collapse
-
#inferred_permission ⇒ Object
readonly
Returns the value of attribute inferred_permission.
-
#permission_match ⇒ Object
readonly
Returns the value of attribute permission_match.
-
#required_permissions ⇒ Object
readonly
Returns the value of attribute required_permissions.
-
#required_roles ⇒ Object
readonly
Returns the value of attribute required_roles.
-
#resolved_permissions ⇒ Object
readonly
Returns the value of attribute resolved_permissions.
-
#role_match ⇒ Object
readonly
Returns the value of attribute role_match.
-
#roles ⇒ Object
readonly
Returns the value of attribute roles.
-
#user ⇒ Object
readonly
Returns the value of attribute user.
Instance Method Summary collapse
-
#initialize(user:, required_roles: [], required_permissions: [], inferred_permission: nil, role_match: :any, permission_match: :all) ⇒ AuthorizationContext
constructor
A new instance of AuthorizationContext.
- #permissions_for_check ⇒ Object
Constructor Details
#initialize(user:, required_roles: [], required_permissions: [], inferred_permission: nil, role_match: :any, permission_match: :all) ⇒ AuthorizationContext
Returns a new instance of AuthorizationContext.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'app/services/rails_iam/authorization/authorization_context.rb', line 15 def initialize( user:, required_roles: [], required_permissions: [], inferred_permission: nil, role_match: :any, permission_match: :all ) @user = user @roles = RoleResolver.call(user) @resolved_permissions = PermissionResolver.call(user) @required_roles = required_roles.map(&:to_s) @required_permissions = .map(&:to_s) @inferred_permission = @role_match = role_match @permission_match = end |
Instance Attribute Details
#inferred_permission ⇒ Object (readonly)
Returns the value of attribute inferred_permission.
6 7 8 |
# File 'app/services/rails_iam/authorization/authorization_context.rb', line 6 def @inferred_permission end |
#permission_match ⇒ Object (readonly)
Returns the value of attribute permission_match.
6 7 8 |
# File 'app/services/rails_iam/authorization/authorization_context.rb', line 6 def @permission_match end |
#required_permissions ⇒ Object (readonly)
Returns the value of attribute required_permissions.
6 7 8 |
# File 'app/services/rails_iam/authorization/authorization_context.rb', line 6 def @required_permissions end |
#required_roles ⇒ Object (readonly)
Returns the value of attribute required_roles.
6 7 8 |
# File 'app/services/rails_iam/authorization/authorization_context.rb', line 6 def required_roles @required_roles end |
#resolved_permissions ⇒ Object (readonly)
Returns the value of attribute resolved_permissions.
6 7 8 |
# File 'app/services/rails_iam/authorization/authorization_context.rb', line 6 def @resolved_permissions end |
#role_match ⇒ Object (readonly)
Returns the value of attribute role_match.
6 7 8 |
# File 'app/services/rails_iam/authorization/authorization_context.rb', line 6 def role_match @role_match end |
#roles ⇒ Object (readonly)
Returns the value of attribute roles.
6 7 8 |
# File 'app/services/rails_iam/authorization/authorization_context.rb', line 6 def roles @roles end |
#user ⇒ Object (readonly)
Returns the value of attribute user.
6 7 8 |
# File 'app/services/rails_iam/authorization/authorization_context.rb', line 6 def user @user end |
Instance Method Details
#permissions_for_check ⇒ Object
33 34 35 36 37 38 |
# File 'app/services/rails_iam/authorization/authorization_context.rb', line 33 def return if .any? return [] if .present? [] end |