Class: Ecm::Rbac::ImportDefaultPermissionsService

Inherits:
ApplicationService
  • Object
show all
Defined in:
app/services/ecm/rbac/import_default_permissions_service.rb

Defined Under Namespace

Classes: Result

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#filename=(value) ⇒ Object

Sets the attribute filename

Parameters:

  • value

    the value to set the attribute filename to.



10
11
12
# File 'app/services/ecm/rbac/import_default_permissions_service.rb', line 10

def filename=(value)
  @filename = value
end

Instance Method Details

#_performObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'app/services/ecm/rbac/import_default_permissions_service.rb', line 14

def _perform
  say 'Validating input' do
    unless valid?
      say "Inputs are invalid. Errors: #{errors.full_messages.to_sentence}"
      say 'Aborted'
      return
    end
  end

  return unless load_yaml
  return unless yaml_structure_valid?

  load_permissions
  load_roles

  @result.permissions = create_or_update_permissions
  @result.roles = create_or_update_roles
  @result.role_permissions = create_or_update_role_permissions
end