Class: ManageIQ::API::Common::RBAC::ShareResource

Inherits:
Object
  • Object
show all
Includes:
Utilities
Defined in:
lib/manageiq/api/common/rbac/share_resource.rb

Direct Known Subclasses

UnshareResource

Instance Method Summary collapse

Methods included from Utilities

#parse_ids_from_name, #unique_name, #validate_groups

Constructor Details

#initialize(options) ⇒ ShareResource

Returns a new instance of ShareResource.



9
10
11
12
13
14
15
16
# File 'lib/manageiq/api/common/rbac/share_resource.rb', line 9

def initialize(options)
  @app_name = options[:app_name]
  @resource_name = options[:resource_name]
  @permissions = options[:permissions]
  @resource_ids = options[:resource_ids]
  @group_uuids = SortedSet.new(options[:group_uuids])
  @acls = RBAC::ACL.new
end

Instance Method Details

#processObject



18
19
20
21
22
23
# File 'lib/manageiq/api/common/rbac/share_resource.rb', line 18

def process
  validate_groups
  @roles = RBAC::Roles.new("#{@app_name}-#{@resource_name}-")
  @group_uuids.each { |uuid| manage_roles_for_group(uuid) }
  self
end