Class: AgendrixMemberSiteResolver
- Inherits:
-
Object
- Object
- AgendrixMemberSiteResolver
- Defined in:
- app/resolver/agendrix_member_site_resolver.rb
Defined Under Namespace
Classes: Actions
Constant Summary collapse
- USER_NAME =
'SYSTEM'
Instance Attribute Summary collapse
-
#company_id ⇒ Object
readonly
Returns the value of attribute company_id.
-
#employee_id ⇒ Object
readonly
Returns the value of attribute employee_id.
-
#member_site_position ⇒ Object
readonly
Returns the value of attribute member_site_position.
-
#position ⇒ Object
readonly
Returns the value of attribute position.
-
#site ⇒ Object
readonly
Returns the value of attribute site.
Instance Method Summary collapse
-
#initialize(company_id:, employee_id:, site:, member_site_position:, position:) ⇒ AgendrixMemberSiteResolver
constructor
A new instance of AgendrixMemberSiteResolver.
- #resolve ⇒ Object
Constructor Details
#initialize(company_id:, employee_id:, site:, member_site_position:, position:) ⇒ AgendrixMemberSiteResolver
Returns a new instance of AgendrixMemberSiteResolver.
12 13 14 15 16 17 18 |
# File 'app/resolver/agendrix_member_site_resolver.rb', line 12 def initialize(company_id:, employee_id:, site:, member_site_position:, position:) @company_id = company_id @employee_id = employee_id @site = site @member_site_position = member_site_position @position = position end |
Instance Attribute Details
#company_id ⇒ Object (readonly)
Returns the value of attribute company_id.
10 11 12 |
# File 'app/resolver/agendrix_member_site_resolver.rb', line 10 def company_id @company_id end |
#employee_id ⇒ Object (readonly)
Returns the value of attribute employee_id.
10 11 12 |
# File 'app/resolver/agendrix_member_site_resolver.rb', line 10 def employee_id @employee_id end |
#member_site_position ⇒ Object (readonly)
Returns the value of attribute member_site_position.
10 11 12 |
# File 'app/resolver/agendrix_member_site_resolver.rb', line 10 def member_site_position @member_site_position end |
#position ⇒ Object (readonly)
Returns the value of attribute position.
10 11 12 |
# File 'app/resolver/agendrix_member_site_resolver.rb', line 10 def position @position end |
#site ⇒ Object (readonly)
Returns the value of attribute site.
10 11 12 |
# File 'app/resolver/agendrix_member_site_resolver.rb', line 10 def site @site end |
Instance Method Details
#resolve ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'app/resolver/agendrix_member_site_resolver.rb', line 20 def resolve ActiveRecord::Base.transaction do if find_integrated_employee_role update_employee_role { action: Actions::UPDATE, employee_role: @employee_role, member_site_position: member_site_position, position: position } elsif find_employee_role_to_integrate integrate_employee_role update_employee_role { action: Actions::INTEGRATE, employee_role: @employee_role, member_site_position: member_site_position, position: position } elsif create_employee_role integrate_employee_role { action: Actions::CREATE, employee_role: @employee_role, member_site_position: member_site_position, position: position } end end rescue StandardError => e Rails.logger.error "Failed to resolve Agendrix employee_role: #{e.}" raise e end |