Class: ErpUsers::CreateService

Inherits:
Object
  • Object
show all
Defined in:
app/services/erp_users/create_service.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(erp_user_params:, current_user:, current_company:, navigation_configuration_id:, company_ids:, permission_group_ids:) ⇒ CreateService

Returns a new instance of CreateService.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/services/erp_users/create_service.rb', line 10

def initialize(
  erp_user_params:,
  current_user:,
  current_company:,
  navigation_configuration_id:,
  company_ids:,
  permission_group_ids:
)
  @erp_user_params          = erp_user_params
  @current_user             = current_user
  @current_company          = current_company
  @navigation_configuration = navigation_configuration_id
  @company_ids              = company_ids
  @permission_group_ids     = permission_group_ids
end

Instance Attribute Details

#company_idsObject (readonly)

Returns the value of attribute company_ids.



3
4
5
# File 'app/services/erp_users/create_service.rb', line 3

def company_ids
  @company_ids
end

#current_companyObject (readonly)

Returns the value of attribute current_company.



3
4
5
# File 'app/services/erp_users/create_service.rb', line 3

def current_company
  @current_company
end

#current_userObject (readonly)

Returns the value of attribute current_user.



3
4
5
# File 'app/services/erp_users/create_service.rb', line 3

def current_user
  @current_user
end

#erp_user_paramsObject (readonly)

Returns the value of attribute erp_user_params.



3
4
5
# File 'app/services/erp_users/create_service.rb', line 3

def erp_user_params
  @erp_user_params
end

Returns the value of attribute navigation_configuration.



3
4
5
# File 'app/services/erp_users/create_service.rb', line 3

def navigation_configuration
  @navigation_configuration
end

#permission_group_idsObject (readonly)

Returns the value of attribute permission_group_ids.



3
4
5
# File 'app/services/erp_users/create_service.rb', line 3

def permission_group_ids
  @permission_group_ids
end

Instance Method Details

#callObject



26
27
28
29
30
31
32
33
34
35
# File 'app/services/erp_users/create_service.rb', line 26

def call
  ActiveRecord::Base.transaction do
    create_record
    associate_companies
    associate_permission_groups
    validate_after_associations

    @erp_user
  end
end