Class: RailsIam::Authorization::ResolvedPermissions

Inherits:
Object
  • Object
show all
Defined in:
app/services/rails_iam/authorization/resolved_permissions.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(allowed_codes:, denied_codes:, metadata:) ⇒ ResolvedPermissions

Returns a new instance of ResolvedPermissions.



10
11
12
13
14
15
16
17
18
# File 'app/services/rails_iam/authorization/resolved_permissions.rb', line 10

def initialize(
  allowed_codes:,
  denied_codes:,
  metadata:
)
  @allowed_codes = allowed_codes.to_set.freeze
  @denied_codes = denied_codes.to_set.freeze
  @metadata = .freeze
end

Instance Attribute Details

#allowed_codesObject (readonly)

Returns the value of attribute allowed_codes.



6
7
8
# File 'app/services/rails_iam/authorization/resolved_permissions.rb', line 6

def allowed_codes
  @allowed_codes
end

#denied_codesObject (readonly)

Returns the value of attribute denied_codes.



6
7
8
# File 'app/services/rails_iam/authorization/resolved_permissions.rb', line 6

def denied_codes
  @denied_codes
end

#metadataObject (readonly)

Returns the value of attribute metadata.



6
7
8
# File 'app/services/rails_iam/authorization/resolved_permissions.rb', line 6

def 
  @metadata
end

Instance Method Details

#codesObject



28
29
30
# File 'app/services/rails_iam/authorization/resolved_permissions.rb', line 28

def codes
  allowed_codes
end

#effective_codesObject



32
33
34
# File 'app/services/rails_iam/authorization/resolved_permissions.rb', line 32

def effective_codes
  @allowed_codes - @denied_codes
end

#explain(permission) ⇒ Object



36
37
38
# File 'app/services/rails_iam/authorization/resolved_permissions.rb', line 36

def explain(permission)
  .fetch(permission.to_s, [])
end

#include?(permission) ⇒ Boolean

Returns:

  • (Boolean)


20
21
22
23
24
25
26
# File 'app/services/rails_iam/authorization/resolved_permissions.rb', line 20

def include?(permission)
  permission = permission.to_s

  return false if denied?(permission)

  allowed?(permission)
end