Class: AgendrixMemberResolver
- Inherits:
-
Object
- Object
- AgendrixMemberResolver
- Includes:
- GeocodingHelper
- Defined in:
- app/resolver/agendrix_member_resolver.rb
Defined Under Namespace
Classes: Actions
Constant Summary collapse
- HR_DATA_LANGUAGE_KEY =
'2e4f3ee9-d5e5-4265-8da4-5b583ea5919a'- HR_PRIVATE_DATA_SSN_KEY =
'1fceadbe-6de0-46ce-b461-eadd72dd08fd'- USER_NAME =
'SYSTEM'
Constants included from GeocodingHelper
GeocodingHelper::GEOCODING_PARAMS, GeocodingHelper::PRIORITIZED_PROVINCE
Instance Attribute Summary collapse
-
#company_id ⇒ Object
readonly
Returns the value of attribute company_id.
-
#hr_private_data ⇒ Object
readonly
Returns the value of attribute hr_private_data.
-
#member ⇒ Object
readonly
Returns the value of attribute member.
Instance Method Summary collapse
-
#initialize(company_id:, member:, hr_private_data:) ⇒ AgendrixMemberResolver
constructor
A new instance of AgendrixMemberResolver.
- #resolve ⇒ Object
Methods included from GeocodingHelper
Constructor Details
#initialize(company_id:, member:, hr_private_data:) ⇒ AgendrixMemberResolver
Returns a new instance of AgendrixMemberResolver.
19 20 21 22 23 |
# File 'app/resolver/agendrix_member_resolver.rb', line 19 def initialize(company_id:, member:, hr_private_data:) @company_id = company_id @member = member.with_indifferent_access @hr_private_data = hr_private_data.with_indifferent_access end |
Instance Attribute Details
#company_id ⇒ Object (readonly)
Returns the value of attribute company_id.
17 18 19 |
# File 'app/resolver/agendrix_member_resolver.rb', line 17 def company_id @company_id end |
#hr_private_data ⇒ Object (readonly)
Returns the value of attribute hr_private_data.
17 18 19 |
# File 'app/resolver/agendrix_member_resolver.rb', line 17 def hr_private_data @hr_private_data end |
#member ⇒ Object (readonly)
Returns the value of attribute member.
17 18 19 |
# File 'app/resolver/agendrix_member_resolver.rb', line 17 def member @member end |
Instance Method Details
#resolve ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'app/resolver/agendrix_member_resolver.rb', line 25 def resolve ActiveRecord::Base.transaction do if find_integrated_employee update_employee { action: Actions::UPDATE, member: member, employee: @employee } elsif find_employee_to_integrate integrate_employee update_employee { action: Actions::INTEGRATE, member: member, employee: @employee } elsif create_employee integrate_employee { action: Actions::CREATE, member: member, employee: @employee } end end rescue StandardError => e Rails.logger.error "Failed to resolve Agendrix member: #{e.}" raise e end |